AI웹 개발자 과정 공부 (팀스파르타)/Django (장고)
24.04.12_TIL (Django 앱 실행해보기)
티아(tia)
2024. 4. 12. 21:02
728x90
1. django 의 앱을 사용하기 위해서는 생성, 등록 두가지가 필요하다. 먼저 App을 생성해보자.
python manage.py startapp <앱 이름>
python manage.py startapp articles
- 장고에서는 앱 이름은 복수형을 권장한다.
- 안쪽이 아닌 하나 바깥쪽에 생성된 것을 볼 수 있다.
2. 앱 등록하기
- settings.py 에서 33번째 줄에 보면 INSTALLED_APPS에 등록을 해줘야함. 41번째 줄에 추가한 것처럼 추가해줘야한다.
- ' , ' 표시를 넣어주는 것을 습관화 해야 계속 추가해줄 때 빼먹는 실수가 없다.
장고 탬플릿을 뷰와 함께 연결해보자.
장고 도구를 사용하기
3. URL 요청과 응답
# my_first_pjt/my_first_pjt/urls.py
from django.contrib import admin
from django.urls import path
from articles import views
urlpatterns = [
path("admin/", admin.site.urls),
path("index/", views.index),
]
- path 는 대충 길이라는 뜻이라고 생각하면 된다. 여기로 가~~ 라는 느낌이다.
- urls.py 와 views.py 의 폴더가 다르니까 urls 의 경로에 써줘야 한다. from articles import view 로 알티클에서 뷰의 정보를 가져와. 라는 명령어를 넣어줘야 함. 그래야 아래 25번째 줄에 있는 path 경로를 따라서 가지고 올 수 있다.
from django.http import HttpResponse
def index(request):
response = HttpResponse("<h1>Hello, Django!</h1>")
return response
- 코드를 넣어서 실행을 해보자.
python manage.py runserver
- 너의 패턴이 일치하지 않는다고 path 매칭 안된다고 말함. -이제 새로운 나의 page를 만들 수 있음.
- 너가 그냥 '/ ' 만 넣었기 때문에 찾을 수 없는거야. 맞아. 우리는 index로 가야하는데 그냥 /의 경로가 아님
- 위의 그림처럼 http://127.0.0.1:8000/index/ 를 넣어주자 원하는 경로의 화면이 보이는 것을 알 수 있다.
- 그런데 여기서 바로 html 을 코드로 써서 보여주게 되면 너무 길어지기 때문에 html의 파일을 따로 생성해주는 것이 효율 적이다!
4. html 파일을 작성해보자.
from django.shortcuts import render
def index(request):
return render(request, "index.html")
- view.py 에 코드를 이렇게 수정해보자. 그러면 index.html 파일을 만들어주면 된다.
- articles 의 폴더 안에 templates 폴더를 만든 후 index.html 파일을 만들어 준다.
- ' ! ' 를 하면 자동으로 html 의 기본 틀이 완료 된다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1> Hello, Django! </h1> # 이 부분만 추가한 부분 나머지는 기본 틀
</body>
</html>
5. users/ 라는 경로로 들어오면 users.html 을 렌더링 해서 보여주는 코드를 작성해보자.
- urls.py 에 path 추가하기
path("users/", views.users),
- views.py 에 users 의 request 추가
def users(request):
return render(request, "users.html")
- users.html 생성해서 ' ! ' 로 추가하기
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Users</title>
</head>
<body>
<h1>Users Page</h1>
</body>
</html>
반응형