Django 新增測試檢視
測試檢視
當測試 Django 的不同方面時,最好有一個地方可以在不破壞主專案的情況下測試程式碼。
這當然是可選的,但如果你想遵循本教程的所有步驟,你應該新增一個與我們下面建立的完全相同的測試檢視。
然後你就可以在自己的電腦上遵循示例並進行嘗試了。
新增檢視
首先在 views.py
檔案中新增一個名為“testing”的檢視
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
我們必須確保進入 /testing/ 的 URL 會被重定向到 testing 檢視。
這在 members
資料夾下的 urls.py
檔案中完成
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 程式碼。
你可能已經注意到 testing 檢視中有一個指向模板的引用?
在 templates 資料夾中建立一個名為 "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/
。
結果應如下所示
