[Django]0805_Project & app
- Django Model을 사용하여 CRUD를 수행할 수 있다.
- Django View의 구현방법 2가지를 구분할 수 있다.
- Django Template에서 사용하는 태그와 문법을 적용할 수 있다.
- 프로젝트 작성 순서 (초반)
# 프로젝트 생성
- mysite 폴더 생성
- mysite 폴더 안에서 config 프로젝트 생성 - django-admin startproject config .
- mysite 폴더 안에서 polls 앱 생성 - django-admin startapp polls
# 구동 확인용
- (config) urls.py, (polls) urls.py 설정
- (polls) views.py 함수 작성 -> 서버 구동 : python manage.py runserver
# 모델 작성 및 테이블 생성
- (config) settings.py INSTALLED_APP : 'polls'문자열 추가
- (config) settings.py DATABASE : mariadb 설정 -> # DB Name, User, Host IP, PW
- (polls) models.py 클래스 작성 (Question, Answer)
- makemigrations(모델 클래스 -> 여러가지 설정 / 옵션 정리 과정) + migrate ( 데이터베이스에 반영)
# HeidiSQL 확인
# Shell 연습 (모델 테스트)
- 관리자 사이트 사용시 확인사항
1. admin.py
=> admin.site.register(모델)
2. createsuperuser
=> python manage.py createsuperuser
- mysite (질문/답변 웹서비스) / “답변 등록” 동작 순서
답변 등록 양식 - /form/
config/urls.py → polls/urls.py →
urlpatterns = [ url patterns = [
path('polls/', include('polls.urls')), path('form/', views.form),
] ]
views.py → form.html
def form(request): <form action="/polls/proc/">
return render( <input type='text' name='dname'>
request, <input type='text' name='deptno'>
'form.html' <input type='text' name='loc'>
) <button>insert</button>
</form>
답변 등록 처리 (데이터 저장) - /proc/
config/urls.py → polls/urls.py →
urlpatterns = [ url patterns = [
path('polls/', include('polls.urls')), path('proc/', views.proc),
] ]
views.py → 응답결과 (문자열)
def proc(request):
dname = request.GET.get('dname')
deptno = request.GET.get('deptno')
loc = request.GET.get('loc')
d = Dept(dname=dname, deptno=deptno, loc=loc)
d.save()
return HttpResponse('%s %s %s' % (dname, deptno, loc))