본문 바로가기

Python/Django

[Django] woojin's blog 프로젝트: 글/댓글 작성 블로그를 만드는 마지막 파트다. 사용자가 관리자모드에서가 아닌 직접 블로그 창에서 글과 댓글을 작성하는 기능을 구현해본다. 일단 늘 페이지를 만들 때 하던 '글 작성 페이지'의 기본 구조 만들자. 순서는 View -> URLconf -> Template !! (순서 상관은 크게 없음) [blog/views.py] def post_add(request): return render(request, 'post_add.html') [config/urls.py] from blog.views import post_add# 위에서 만든 veiws.py에 post_add 함수 추가 ... urlpatterns = [ ... path("posts/add/", post_add), ] [templates/post_add.h.. 더보기
[Django] woojin's blog 프로젝트: 글 상세 페이지 글의 전체 목록에는 모든 내용을 표시할 수 없다. 각각의 글이 가진 모든 내용을 표시할 글 상세 페이지를 만들어보자. 페이지를 만들때마다 항상 하던 작업을 먼저 해주자 View [blog/views.py] def post_detail(request): return render(request, "post-detail.html") URLconf [config/urls.py] from blog.views import index, post_list, post_detail urlpatterns = [ path('admin/', admin.site.urls), path("", index), path("posts/", post_list), path("posts/1/", post_detail), ] Template [.. 더보기
[Django] woojin's blog 프로젝트: 유저가 업로드하는 정적파일 이전에 활용했던 정적파일은 CSS파일을 활용하여 웹 페이지를 꾸미는 것이었다. 이번엔 내가 직접 정적파일(사진)을 업로드하여 웹 페이지에 보여줘보자. 1. 유저가 업로드하는 정적파일 설정 우선 유저가 업로드한 파일에 접근할 수 있도록 경로를 설정해 주자. css파일을 가져올 떄 설정했던 것과 같이 설정해주면 된다. [config/settings.py] MEDIA_URL = 'media/' MEDIA_ROOT = BASE_DIR / 'media' 이 설정을 해주면 앞으로 유저가 업로드한 파일은 자동으로 ~PycharmProject/woojin's blog/media 에 업로드된다. 2. 정적파일을 저장하는 필드 추가 이제 데이터베이스에 정적파일이 저장되도록 만들어보자. 데이터베이스 관련한 파일은 model.. 더보기
[Django] woojin's blog 프로젝트: CSS와 정적파일 이 파트에서는 간략하게 CSS와 정적파일이 무엇인지에 대해 설명하고 CSS를 적용하는 방법에 대해 배운다. 1. 정적파일 설정 project 안에 "static" 디렉토리를 새로 생성한다. 그리고 정적파일 관련 설정을 settings.py에서 해준다. [config/settings.py] STATIC_URL = 'static/'# 이미 작성되어 있다. STATICFILES_DIRS = [BASE_DIR / 'static'] 2. 정적파일 추가하고 템플릿에서 사용하기 저자가 제공하는 css파일을 다운받은 후 static/css/ 디렉토리에 저장해준다. template에서 저장한 css 파일을 사용하려면 다음과 같이 코드를 작성하면 된다. {% load static %}# static pylog# pylog.. 더보기
[Django] woojin's blog 프로젝트: 글과 댓글 보여주기 이번에는 저번에 관리자에서 만들었던 글과 댓글들을 templates를 통해 웹에 보여주는 과정을 배워본다. 1. 글 목록 보여주기 우선 가장 먼저 view와 url과 template을 만들어준다. [blog/views.py] from blog.models import Post def post_list(request): return render(request, 'post_list.html') [config/urls.py] from blog.views import index, post_list urlpatterns = [ path('admin/', admin.site.urls), path("", index), # 경로가 없을 때 index view를 연결 path("posts/", post_list) ] [.. 더보기
[Django] woojin's blog 프로젝트: 글과 댓글 모델 구현 이번엔 글과 댓글의 모델을 구현하는 작업을 해볼 것이다. 먼저 app을 생성한다. > python manage.py startapp blog app을 만들면서 문득 들었던 생각이다. project와 app의 정확한 차이.. 디렉토리 내에 파일 구성을 살펴보면 확실히 다르긴 하다. 그래도 정확한 차이를 알기 위해 다음 블로그를 참고했다. https://codermun-log.tistory.com/134 django.8 Django Project 와 App 이해 Django - Project 장고에서 프로젝트라는 개념이 있다. 프로젝트는 하나의 큰 웹사이트로 생각하면 된다. 마치 장고 프로젝트를 하나 생성하면 웹페이즈를 한개 만든다고 생각하는 것과 같다. Django - codermun-log.tistory.. 더보기