Python, Django 간단한 서비스 기능 만들기: 게시판 만들기
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 간단한 서비스 기능 만들기: 앱 만들기