此章将搭建,检测和布署一个含有首页和有关网页页面的Pages应用软件。大家将学习培训Django的根据类的主视图和模版,他们是这书后边搭建的更繁杂的Web应用软件的基本。

建立应用软件。

$ mkdir pages && cd pages$ django-admin startproject config .$ python manage.py startapp pages$ vi config/settings.py# config/settings.pyINSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'pages', # new]

模版

每一个互联网架构都必须一种便捷的办法来产生HTML文档。在Django中应用模版:能够联接在一起的单独HTML文档,包含基本上逻辑性。

最先要考虑到的是在Django新项目的构造中把模版放到哪儿。有这两种挑选。默认设置状况下,Django的模版加载器会在每一个应用软件中搜索有关的模版。殊不知,这类构造有一些错乱:每一个应用软件都必须一个新的模版文件目录。

└── pages ├── templates ├── pages ├── home.html

这代表大家必须建设一个新的模版文件目录,一个新的应用软件文件目录,网页页面,最终是咱们的模版自身,即home.html。

另一种方式是建立一个新项目级模版文件目录,并将全部模版放进在其中。根据对config/settings.py文件做一个小的调节,我们可以告知Django也在这个文件目录中找寻模版。这就是我们即将应用的方式。

$ mkdir templates$ vi templates/home.html

首页

$ vi templates/about.html

有关网页页面

$ vi config/settings.py# config/settings.pyTEMPLATES = [ { ... 'DIRS': [str(BASE_DIR.joinpath('templates'))], # new ... },]

根据类的主视图

大家将应用内嵌的TemplateView来表明大家的模版。升级网页页面/主视图. py文件。

# pages/views.pyfrom django.views.generic import TemplateViewclass HomePageView(TemplateView): template_name = 'home.html'class AboutPageView(TemplateView): # new template_name = 'about.html'

資源精准定位符

config/URL . py

# config/urls.pyfrom django.contrib import adminfrom django.urls import path, include # newurlpatterns = [ path('admin/', admin.site.urls), path('', include('pages.urls')), # new]

网页页面/URL . py

# pages/urls.pyfrom django.urls import pathfrom .views import HomePageView, AboutPageView # newurlpatterns = [ path('about/', AboutPageView.as_view(), name='about'), # new path('', HomePageView.as_view(), name='home'), ]

应用根据类的主视图时,一直在主视图名字后加上as_view()。

django单元测试使用正确数据库-django框架的特点-第1张图片拓展模版$ touch templates/base.html$ vi templates/base.html Home | About{% block content %}{% endblock content %}$vi templates/home.html{% extends 'base.html' %}{% block content %}

首页

{% endblock content %}$vi templates/about.html {% extends 'base.html' %}{% block content %}

有关网页页面

{% endblock content %}django单元测试使用正确数据库-django框架的特点-第2张图片实验django单元测试使用正确数据库-django框架的特点-第3张图片# pages/tests . pyfrom django . test import SimpleTestCase class SimpleTests(SimpleTestCase):def test _ home _ page _ status _ code(self):response = self . client . get('/')self . asserteqal(response . status _ code,200)def test _ about _ page _ status _ code(self):response = self . client . get('/about/')self . assert equal(response . status _ code,200)大家在这儿应用SimpleTestCase是由于不应用数据库查询。如果我们应用数据库查询,大家将应用功能测试。随后大家查验每一个网页的情况编码是不是为200,这也是对取得成功的HTTP要求的规范回应。

实行:

$ python manage.py testSystem check identified no issues (0 silenced)...----------------------------------------------------------------------Ran 2 tests in 0.060sOKdjango单元测试使用正确数据库-django框架的特点-第4张图片

评论(0条)

刀客源码 游客评论