어제 밤에 프로젝트 생성 -> admin 생성까지 완료
https://devofbt.tistory.com/entry/Python-Django-를-이용한-블로그-만들기-1
Django 앱 만들기 , 등록
프로젝트내에 여러개의 앱이 생성이 가능하다 나는 blog 라는 앱을 만든다
python manage.py startapp blog
앱을 만들었으면 프로젝트 폴더내의 setting.py 에 등록해주어야 한다.
setting.py 를 열어어서 아래 부분에 내가 만든 앱을 추가해준다
blog 앱 접속하기 위해 urls.py 수정
앱추가가 되었으면 http:// 내 주소 /blog 로 접속이 가능하게 수정 해 주어야 한다
프로젝트 내에 urls.py 폴더를 열어 다음과 같이 path 를 추가해준다
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path("admin/", admin.site.urls),
path("blog/", include("blog.urls")),
]
include 가 import 되어있는지 확인 해주어야 한다.
정상적인 작동을 위해선 blog 앱 내에서도 urls.py가 있어야한다
blog 앱 폴더에 urls.py 를 추가 해주고 다음과 같이 입력해준다
from django.urls import path
from . import views
from .models import Post
urlpatterns = [
path("", views.Post_List.as_view()),
]
사용자가 /blog 로 접속했을때 여기서 어떻게 처리할껀지 적어준 것인데 아직 models에 기능도 구현도 되지 않았고
views 도 아직 설정하지 않았다
models.py 에 글쓰기 기능 구현
blog 폴더내 models.py 에 기능을 구현 한다
from django.db import models
from django.contrib.auth.models import User
class Post(models.Model):
title = models.CharField(max_length=30) //제목 최대길이 30자
image = models.ImageField(blank=True) //이미지 필드
content = models.TextField() //텍스트 필드
author = models.ForeignKey(User, on_delete=models.CASCADE) //user삭제시 post 삭제
created_date = models.DateTimeField(auto_now_add=True) //글 작성시 자동으로 시간저장
제목 , 내용 , 작성자 , 작성날짜로 구성되었다.
views.py 수정하기
models.py 에 구현된 Post 클래스를 어떻게 사용할지 views.py에 작성해주어야 한다
from django.shortcuts import render
from .models import Post
from django.views.generic import ListView
class Post_List(ListView):
model = Post
/admin 페이지에 Post 기능 추가
blog 앱 폴더내 admin.py 파일 수정
from django.contrib import admin
from .models import Post
admin.site.register(Post)
models 에 구현된 Post 기능을 등록시켜줌
models 를 수정하였으면 서버 실행하기전 migrate 를 해줘야 한다
아래 코드를 순서대로 입력해 준다.
python manage.py makemigrations
python manage.py migrate
runserver 를해서 /admin 에 접속해본다
서버를 구동시키려니 뭔가 오류가 뜬다
아마도 models.py 에 넣은 imagefield 를 사용하려면 pillow 라는걸 설치해줘야 하나보다
crtl + c 로 서버 종료후 pip install pillow 해서 설치해서 다시 실행시켜보니 정상적으로 실행된다
http://127.0.0.1:8000/admin/ 접속
BLOG 에 정상적으로 Posts 라는 메뉴가 추가 된 것이 보인다 post +Add 를 눌러 들어가서 보면
구현한 기능이 들어가있다.
3편에서 계속
'Python' 카테고리의 다른 글
로또 번호 추출기 파이썬 코드 (실행파일 포함) (0) | 2023.05.16 |
---|---|
Python selenium- 동행복권 홈페이지 로그인 / 충전페이지 이동 자동화 (0) | 2023.04.23 |
Google Drive API 이용한 조카 덕질. (ver 1.0.0) (0) | 2023.04.19 |