반응형
SMALL
- 1단계: Django 프로젝트와 앱 생성
django-admin startproject myproject
cd myproject
python manage.py startapp myapp
- [ myproject/settings.py ]에서 생성한 앱을 등록:
INSTALLED_APPS = [
....
'myapp',
]
- 2단계: [ myapp/models.py ] 에서 모델 정의:
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=200)
author = models.CharField(max_length=200)
publication_date = models.DateField()
price = models.DecimalField(max_digits=6, decimal_places=2)
- 3단계 : [ myapp/forms.py ] 파일 생성 후, 폼 생성:
from django import forms
from .models import Book
class BookForm(forms.ModelForm):
class Meta:
model = Book
fields = ['title', 'author', 'publication_date', 'price']
- 4단계 : [ myapp/views.py ] 에서 뷰 정의:
from django.shortcuts import render, redirect
from .forms import BookForm
from myapp.models import Book
def create_book(request):
if request.method == 'POST':
form = BookForm(request.POST)
if form.is_valid():
form.save()
return redirect('book_list')
else:
form = BookForm()
return render(request, 'myapp/template/create_book.html', {'form': form})
def book_list(request):
books = Book.objects.all()
return render(request, 'myapp/template/book_list.html', {'books': books})
- 5단계 : 탬플릿 생성
- myapp/templates/myapp/create_book.html 생성:
<h2>책 생성하기</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">저장</button>
</form>
- myapp/templates/myapp/book_list.html 생성:
<h2>책 목록</h2>
<ul>
{% for book in books %}
<li>{{ book.title }} - {{ book.author }}</li>
{% endfor %}
</ul>
- 6단계 : [ root_project/ urls.py ] url 업데이트:
# root_project/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('myapp/', include('myapp.urls')),
]
- 7단계 : [ myapp/urls.py ] 파일 생성 후, 앱 url 정의
from django.urls import path
from .views import create_book, book_list
urlpatterns = [
path('create/', create_book, name='create_book'),
path('list/', book_list, name='book_list'),
]
- 8단계 : DB 마이그레이션 및 적용
python manage.py makemigrations
python manage.py migrate
- 9단계: 개발 서버 시작
python manage.py runserver
테스트
LIST
'Programming > python' 카테고리의 다른 글
[ python ] pandas DataFrame 사용법 기초 (0) | 2024.05.06 |
---|---|
[ Python ] python 반복문 기본문법 (0) | 2024.05.06 |
[ Django ] DRF 에서 자주 사용되는 API 데코레이션 (0) | 2024.02.15 |
[ Django ] ORM 을 통한 모델 정의 및 어드민사이트 등록 (0) | 2024.02.14 |
[Django] Local 서버에서 정적 파일과 미디어 파일을 처리 (0) | 2024.02.14 |