django 요약

2021. 7. 28. 00:10python/Django

728x90

modul이름
from polls import views(절대경로)  
from . import views(상대경로)





1.프로젝트 생성 및 설정
cmd
django-admin startproject mtfirstwebpoll
python manage.py startapp polls

setting
DEBUG = True

ALLOWED_HOSTS = ['localhost', '127.0.0.1'] 둘중하나
Installed_apps = 
['polls.apps.PollsConfig']추가
TIME_ZOND = 'Asia/Seoul'

terminal
python manage.py migrate
python manage.py runserver
python manage.py createsuperuser 

 

TEMPLATES 'DIRS': [os.path.join(BASE_DIR,'templates')]
적은다음 전체폴더 안에 templates폴더를 만든다

STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
-당연히 전체 폴더 밑에 static 파일을 만든다
-위 파일안에 css, image,js 파일을 만들어 쉽게 사용

MEDIA_URL = '/media/'
MEDIA_ROOT = [os.path.join(BASE_DIR, 'media')]
-서버에 저장되는 동적파일들이 있을 수 있어요!(파일업로드기능)

-template폴더 만들기

2. model 
(1)model만들고 등록
https://sungin.tistory.com/58?category=1036826 작업
https://sungin.tistory.com/70?category=1036826 종류

(2)-polls -  admin.py들어가기
상단에 from polls.models import Question, Choice
admin.site.register(Question)
admin.site.register(Choice)

(3)터미널에 python manage.py makemigrations 입력
python manage.py migrate

(4)localhost:8000/admin/ 에서 확인


3.url
(1)url.py
상단에 from django.urls import include
path('polls', include('polls.urls')

(2)app안에 python파일로 url명으로 만들기
상단에 from django.urls import path
from . import views

app_name = 'polls'


# http://localhost:8000/polls/
path('', views.index, name='index'),
# http://localhost:8000/polls/2/
path('<int:question_id>/', views.detail, name='detail'),
# http://localhost:8000/polls/2/vote/
path('<int:question_id>/vote/', views.vote, name='vote'),

단''(1)번째는 비워둬야한다 그렇지 않으면 /polls/polls가 된다

 

 


3.views
상단에 from . models import Question,Choice
from django.shortcuts import render, get_object_or_404

def detail(request, question_id):
    question = get_object_or_404(Question, pk=question_id)
    context = {'question': question}
    return render(request, 'polls/detail.html', context)

모든 객체는 q_list = Question.objects.all().order_by('-pub_date') 

4. html
*form action="{% url 'polls:vote' question.id%}"
-url  (url py에 app_name : path에서 name=) , /id

'python > Django' 카테고리의 다른 글

base.html (베이스html)  (0) 2021.07.28
상대경로 절대경로  (0) 2021.07.28
models.Model field의 종류  (0) 2021.07.27
data 삭제 후 만들기  (0) 2021.07.26
polls 결과page만들기  (0) 2021.07.26