파이썬+ 장고 웹 페이지 만들기 (wecode 수업 전 예습 )
목차
- 관리자 페이지에서 처 포스트 작성하기.
9 URL 설정 및 포스트 목록 페이지 만들기
8. 관리자 페이지에서 처 포스트 작성하기.
(venv) λ python manage.py runserver
admin.py에 Post 모델 추가하기.
blog/admin.py 파일을 열고 두 줄만 추가하여 관리자 페이지에 Post 모델을 등로합니다.
blog/admin.py
from django.contrib import admin
from .models import Post
admin.site.register(Post)
- 8-2 새로운 포스트 생성하기.
posts > add > ADD POST
임으로 포스트를 2개 생성하였다.
models.py에 Post 모델을 정의하고 admin.py코드에 두 줄을 추가한 것만으로 관리자 페이지에 새로운 포스트를 작성할 수 있는 기능이 추가되었습니다.
- 8-3 포스트 개선하기.
blog/models.py에 클래스 2줄 추가.
def __str__(self):
return f'[{self.pk}]{self.title}'
pk는 각 레코드의 고유값
- 8-4 특징 지역 기준으로 작성 시간 설정하기.
django_py/settings.py
TIME_ZONE = 'UTC' 을 Asia/Seoul
Use_TZ 는False
Time이 한국 기준으로 바뀌어 표준시 시간인 9시간에서 바뀌었다.
- 8-4 자동으로 작성 시각과 수정 시각 저장하기.
포스터를 작성하면 자동으로 작성 시각을 저장되도록 설정.
blog/models.py 에 추가해준다
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
수정했으니 makemigrations으로 장고에게 알려주고, migrate로 데이터베이스에 반영해야 한다.
python manage.py makemigrations
python manage.py migrate
python manage.py runserver
시간란이 사라졌다!
COMMIT 모델을 생성하고 시간 설정하기.
(venv) λ git add .
C:\github\hong_tae (main -> origin)
(venv) λ git commit -m "Post 모델을 생성하고 시간 설정하기"
[main 57255b7] Post 모델을 생성하고 시간 설정하기
5 files changed, 70 insertions(+), 3 deletions(-)
create mode 100644 blog/migrations/0001_initial.py
create mode 100644 blog/migrations/0002_auto_20210223_1801.py
C:\github\hong_tae (main -> origin)
(venv) λ git push
Username for 'https://github.com': gusxoqkqh1
Password for 'https://[email protected]':
To https://github.com/gusxoqkqh1/hong_tae.git
9. URL 설정 및 포스트 목록 페이지 만들기
- 9-1 블로그 페이지 URL로 접속하기
웹 페이지에 http://127.0.0.1:8000/blog 치면 404 오류가 난다
page not found 가 뜬다 거기에는 admin/에 해당하는 내용밖에 없다고 불평고 있다.
django.prj/urls.py로 가보자
path('blog/', include('blog.urls')) 추가
from django.contrib import admin
from django.urls import include,path
# from django.urls import path
urlpatterns = [
path('blog/', include('blog.urls')),
path('admin/', admin.site.urls),
]
아직 Blog 앱 폴더에는 urls.py가 없다. 새로 urls.py를 만들고 내용 추가.
from django.urls import path
from . import views # 현재 폴더에 있는 views.py를 사용할 수 있게 가져와라
urlpatterns = [
path('', views.index),
]
- 9-2 blog/views.py에 index() 함수 정의
blog/views.py
from django.shortcuts import render
def index(request):
return render( # ranger() 함수를 사용해 템플릿 폴더에서 blog 폴더의 index.html 파일을 찾아 방문자에게 보여줌
request,
'blog/index.html',
)
doesNotExist at /blog/
템플릿을 찾을 수 없다는 오류가 나온다.
템플릿에 아직 index.html을 생성하지 않았기 떄문입니다.
- 9-3 템플릿 파일 만들기
<주의가 필요>
blog > {templates > blog > index.html]
templates , blog 디렉토리 추가 후 그 밑에 index.html 파일 추가
간단한 인덱스.html 문서 작성
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>Blog</title>
</head>
<body>
<h1>Blog</h1>
</body>
</html>
<주의>
새로고침 이후 사이트를 연결 할 수 없음 이라는 메시지가 나온다면, 아직 장고가 새로운 템플릿 폴더를 인지 못했을 확률이 있으니 Ctrl+ C해서 서버를 종료 하고 다시 해보자
blog/views.py
from django.shortcuts import render
from .models import Post
def index(request):
posts = Post.objects.all()
return render(
request,
'blog/index.html',
{
'posts' : posts,
}
)
# Create your views here.
Author And Source
이 문제에 관하여(파이썬+ 장고 웹 페이지 만들기 (wecode 수업 전 예습 )), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hong_tae/파이썬-장고-웹-페이지-만들기-wecode-수업-전-예습-hsn63nmu저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)