صفحه اصلی سایت
پروژه ما به یک صفحه اصلی نیاز دارد.
هنگامی که شخصی از پوشه اصلی پروژه (root folder) بازدید می کند، صفحه اصلی نمایش داده میشود.
اکنون، هنگام بازدید از پوشه ریشه پروژه خود، با خطا مواجه می شوید:
http://127.0.0.1:8000/
با ایجاد یک قالب به نام
main.html
شروع کنید:
my_tennis_club/members/templates/main.html
:
{% extends "master.html" %}
{% block title %}
My Tennis Club
{% endblock %}
{% block content %}
My Tennis Club
Members
Check out all our members
{% endblock %}
ساخت View جدید
سپس یک view جدید به نام
main
ایجاد کنید که با درخواست های ورودی برای پوشه اصلی پروژه (صفحه اصلی سایت) پروژه سروکار دارد: my_tennis_club/members/views.py
:
from django.http import HttpResponse
from django.template import loader
from .models import Member
def members(request):
mymembers = Member.objects.all().values()
template = loader.get_template('all_members.html')
context = {
'mymembers': mymembers,
}
return HttpResponse(template.render(context, request))
def details(request, id):
mymember = Member.objects.get(id=id)
template = loader.get_template('details.html')
context = {
'mymember': mymember,
}
return HttpResponse(template.render(context, request))
def main(request):
template = loader.get_template('main.html')
return HttpResponse(template.render())
view ساخته شده برای
main
موارد زیر را انجام می دهد:
- قالب
main.html
را بارگیری می کند. - HTML رندر شده توسط قالب را خروجی می دهد.
اکنون باید مطمئن شویم که آدرس پوشه اصلی (صفحه اصلی) به view صحیح اشاره دارد.
فایل urls.py
را باز کنید و view مربوط به main را به لیست urlpatterns
اضافه کنید:
my_tennis_club/members/urls.py
:
from django.urls import path
from . import views
urlpatterns = [
path('', views.main, name='main'),
path('members/', views.members, name='members'),
path('members/details/', views.details, name='details'),
]
افزودن لینک بازگشت به صفحه اصلی
صفحه اعضا پیوندی به صفحه اصلی ندارد، بنابراین اجازه دهید آن را در قالب
all_members.html
در بلوک محتوا اضافه کنیم: my_tennis_club/members/templates/all_members.html
:
{% extends "master.html" %}
{% block title %}
My Tennis Club - List of all members
{% endblock %}
{% block content %}
Members
{% for x in mymembers %}
- {{ x.firstname }} {{ x.lastname }}
{% endfor %}
{% endblock %}
اگر تمام مراحل را در رایانه شخصی خود انجام داده اید، می توانید نتیجه را در مرورگر خود مشاهده کنید: 127.0.0.1:8000/members/
.
اگر سرور در حالت اجرا نیست ، باید آن را دوباره با دستور runserver راه اندازی کنید:
py manage.py runserver