Django Додати тестове представлення
Тестове представлення (перегляд)
Під час тестування різних аспектів Django може бути гарною ідеєю мати місце для тестування коду, не руйнуючи основний проєкт.
Це необов’язковий курс, але якщо ви хочете виконати всі кроки в цьому підручнику, вам слід додати тестове представлення, яке точно схоже на створене нижче.
Тоді ви можете наслідувати приклади та випробувати їх на власному комп’ютері.
Додати представлення (перегляд)
Почніть із додавання представлення під назвою "testing" у файл views.py
:
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())
def testing(request):
template = loader.get_template('template.html')
context = {
'fruits': ['Apple', 'Banana', 'Cherry'],
}
return HttpResponse(template.render(context, request))
URL-адреси
Ми маємо переконатися, що вхідні URL-адреси до /testing/ будуть переспрямовані до тестового представлення.
Це робиться у файлі urls.py
у папці members
:
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/<int:id>', views.details, name='details'),
path('testing/', views.testing, name='testing'),
]
Тестовий шаблон
Нам також потрібен шаблон, де ми зможемо пограти з кодом HTML і Django.
Можливо, ви помітили, що у вікні тестування було посилання на шаблон?
Створіть шаблон під назвою "template.html" у папці шаблонів:
my_tennis_club
manage.py
my_tennis_club/
members/
templates/
404.html
all_members.html
details.html
main.html
master.html
myfirst.html
template.html
Відкрийте файл template.html і вставте наступне:
my_tennis_club/members/templates/template.html
:
<!DOCTYPE html>
<html>
<body>
{% for x in fruits %}
<h1>{{ x }}</h1>
{% endfor %}
<p>In views.py you can see what the fruits variable looks like.</p>
</body>
</html>
Виконати приклад »
Якщо сервер не працює, перейдіть до папки /my_tennis_club
і виконайте цю команду в командному рядку:
py manage.py runserver
У вікні браузера введіть 127.0.0.1: 8000/testing/
в адресному рядку.
Результат має бути таким: