最适合网络开发者的网站
Django。初学者课程

尿素 西斯

Django 添加测试视图


测试视图

当测试 Django 的不同方面时,最好有一个地方来测试代码而不破坏主项目。

这当然是可选的,但如果您想遵循本教程中的所有步骤,您应该添加一个与我们下面创建的完全相同的测试视图。

然后,您可以按照示例在自己的计算机上尝试它们。


添加视图

首先在 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))

网址

我们必须确保 /testing/ 的传入 URL 将被重定向到测试视图。

这是在 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”的模板:

我的网球俱乐部
管理.py
我的网球俱乐部/
会员/
模板/
404.html
所有成员
详细信息.html
主页面
主页面
我的第一个.html
模板.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 管理.py 运行服务器

在浏览器窗口中输入 127.0.0.1:8000/testing/ 在地址栏中。

结果应该是这样的:

Django 测试视图

评论