-
Python, Django 간단한 서비스 기능 만들기: 게시판 만들기개발 2023. 3. 28. 22:25
1. 게시판 페이지 만들기
2. 데이터베이스 저장하기
3. 관리자 권한주기
4. 게시판 데이터 만들기
5. 게시판 조회
1. 게시판 페이지 만들기
1.1 게시판 html 생성
web_board/main/templates/main/blog.html
<html> <head> <title>Blog List</title> </head> <body> <h1>게시판 페이지입니다</h1> </body> </html>
1.2 게시판 html 렌더링
web_board/main/views.py
from django.shortcuts import render # html 페이지를 부르는 함수들 def index(request): return render(request, 'main/index.html') def blog(request): return render(request, 'main/blog.html')
1.3 url 정보 연결
web_board/main/urls.py
urlpatterns = [ path('', views.index, name='index'), path('blog', views.blog), ]
runserver 후 localhost:8000/blog 접속
2. Model 만들기
장고에서 model을 지원해준다.
(web_board/main/models.py 페이지에 정의하는 대로 DB 테이블을 만들어줌)
from django.db import models # 장고에서 model을 지원해준다. # Create your models here. class Post(models.Model): postname = models.CharField(max_length=50) contents = models.TextField()
2.1 데이터베이스 저장
models.py 작성 후 모델을 데이터베이스에 저장
$ python manage.py makemigrations
$ python manage.py migrate
3. 관리자 권한
3.1 관리자 권한 부여
web_board/main/admin.py
from django.contrib import admin # Register your models here. from .models import Post admin.site.register(Post)
3.2 관리자 계정 생성
Superuser 로 만들다.
$ python manage.py createsuperuser
3.3 localhost:8000/admin 로그인
4. 게시글 작성
게시글 데이터를 생성 후 이와 같이 객체 표현으로 나온다.
web_board/main/models.py 수정
class Post(models.Model): postname = models.CharField(max_length=50) contents = models.TextField() def __str__(self): return self.postname
객체를 표현 Post Object(1) 대신 다른 형식으로 표현하기 위한 함수 정의
5. 게시판 조회
5.1 blog.html 데이터 전달
(web_board/main/views.py)
호출되는 html 페이지와 같이 넘길 데이터를 정의해준다.
from .models import Post def blog(request): postlist = Post.objects.all() return render(request, 'main/blog.html', {'postlist':postlist})
5.2 blog.html 수정
web_board/main/templates/main/blog.html
<html> <head> <title>Blog List</title> </head> <body> <h1>게시판 페이지입니다</h1> <table> {% for list in postlist %} <ul> <li>{{list.postname}}</li> <li>{{list.contents}}</li> </ul> {% endfor %} </table> </body> </html>
localhost:8000/blog
Python, Django 간단한 서비스 기능 만들기 (a-z) 가상 환경
Python, Django 간단한 서비스 기능 만들기: 앱 만들기
'개발' 카테고리의 다른 글
mac 에서 mariaDB 설치 (docker) (1) 2023.04.03 맥북 초기 세팅 개발자 (리눅스 파일 편집) (0) 2023.03.29 Python, Django 간단한 서비스 기능 만들기: 앱 만들기 (0) 2023.03.28 Python, Django 간단한 서비스 기능 만들기 (a-z) 가상 환경 (0) 2023.03.28 java 설치 (0) 2023.03.24