------ Web ------/Backend
[Django] Project Home Page (실습4)
enent
2022. 7. 20. 19:54
반응형
*실습1/실습2/실습3/ 에 이어지는 내용으로, 클래스 뷰 활용
1. 패이지 설계
루트 페이지 생성
1) UI 설계
2) View Flow 설계
2. URLconf
설계한 View Flow를 참고하여 URLconf를 정의
#Djangoproject/urls.py
from django.contrib import admin
from django.urls import path, include
#import view
from djangoProject import views
urlpatterns = [
path('admin/', admin.site.urls),
#루트 페이지 추가
path('', views.HomeView.as_view(), name='home'),
path('polls/', include('polls.urls')),
path('books/', include('books.urls'))
]
3. View
#DjangoProject/views.py
from django.views.generic.base import TemplateView
class HomeView(TemplateView):
template_name = 'home.html'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['app_list'] = ['polls','books']
return context
4. Template
{% extends "base.html" %}
{% block content %}
<h2>Django Application</h2>
<ul>
{% for appname in app_list %}
{% with appname|add:":"|add:"index" as urlvar %}
<li><a href="{% url urlvar %}">{{ appname }}</a></li>
{% endwith %}
{% endfor %}
</ul>
{% endblock content %}
5. Run Server
$ python manage.py runserver
반응형