首页视图编写

lists/tests.py
from django.test import TestCase
from django.urls import resolve
from lists.views import home_page class HomePageTest(TestCase): def test_root_url_to_home_page(self):
found = resolve('/') # resolve是Django内部函数,用于解析URL,并将其映射到相应的视图函数上
self.assertEqual(found.func, home_page) # 检查解析网站根路径/时,是否能找到home_page

终端运行

$ python manage.py test
ImportError: cannot import name 'home_page'

编写应用代码,解决上面的问题 lists/views.py

from django.shortcuts import render
home_page = None

再次运行测试

$ python manage.py test

依旧有报错信息。

接下来在urls.py文件中定义如何把URL映射到视图函数上,在文件夹superlists/superlists中有个主urls.py文件,这个文件应用于整个网站。

from django.contrib import admin
from django.conf.urls import url
from lists import views urlpatterns = [
# url(r'^admin/', admin.site.urls),
url(r'^$', views.home_page, name='home')
]
 python manage.py test
[...]
TypeError: view must be a callable or a list/tuple in the case of include().
That’s progress! We’re no longer getting a 404

修正 lists/views.py

from django.shortcuts import render
# Create your views here.
def home_page():
pass

现在

$ python manage.py test

(django) root@ranxf-TEST:/studydisk/Python_web_TDD/superlists# python manage.py test
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
.
----------------------------------------------------------------------
Ran 1 test in 0.000s OK
Destroying test database for alias 'default'..

第一个测试通过,版本有比较提交一次。

$ git diff
$ git commit -am "First unit test and url mapping, dummy view —— 第一个单元测试和url映射,虚拟视图”

Django学习系列4:编写第一个简单的应用代码的更多相关文章

  1. loadrunner学习系列---脚本编写(2)

    loadrunner学习系列---脚本编写(2) 今天接着翻译http://www.wilsonmar.com/1lrscrīpt.htm上面关于LR脚本编写部分. VUser_Init部分 这里是V ...

  2. Django学习系列之Form基础

     Django学习系列之Form基础 2015-05-15 07:14:57 标签:form django 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追 ...

  3. Django学习系列6:使用selenium测试用户交互

    学习系列5中的单元测试有报错信息,这儿来编写functional_tests.py文件,扩充其中的功能测试 # File: functional_test.py # Author: Rxf # Cre ...

  4. python Django 学习笔记(二)—— 一个简单的网页

    1,创建一个django项目 使用django-admin.py startproject MyDjangoSite 参考这里 2,建立视图 from django.http import HttpR ...

  5. Django学习系列5:为视图编写单元测试

    打开lists/tests.py编写 """向浏览器返回真正的HTML响应,添加一个新的测试方法""" from django.test i ...

  6. Django学习系列13:Django ORM和第一个模型

    ORM—对象关系映射器,是一个数据抽象层,描述存储在数据库中的表,行和列.处理数据库时,可以使用熟悉的面向对象方式,写出更好的代码. 在ORM的概念中,类对应数据库中的表,属性对应列,类的单个实例表示 ...

  7. Django学习系列14:第一个数据库迁移

    在Django中,ORM的任务是模型化数据库. 创建数据库其实是由另一个系统负责的叫做迁移. 迁移的任务是根据你对models.py文件的改动情况,添加或删除表和列. 可以把迁移想象成数据库使用的版本 ...

  8. Django学习系列19:完成最简单可用的网站——确保功能之间相互隔离

    前面遗留的问题,首先时功能测试运行结束后的清理:其次是目前我们的待办清单只允许创建一个大家公用的清单. 如何隔离测试,运行功能测试后待办事项一直存在于数据库中,这会影响下一次测试. 运行单元测试时,D ...

  9. Django学习系列10:保存用户输入——编写表单,发送POST请求

    要获取用户输入的待办事项,发送给服务器,这样才能使用某种方式保存待办事项,然后在显示给用户查看. 上次运行测试指出无法保存用户的输入.现在,要使用HTML post请求. 若想让浏览器发送POST请求 ...

随机推荐

  1. windows 10 右键菜单 使用vscode打开 快捷键

    呼出菜单栏(鼠标右键或快捷键shift+f10)之后按i 资料: 1.如何为windows 10添加右键context menu item https://stackoverflow.com/ques ...

  2. 网易云课堂_C++程序设计入门(下)_期末考试_期末考试在线编程题目

    期末考试在线编程题目 返回考试   本次考试题目一共两个,在考试期间可以不限制次数地提交 温馨提示: 1.本次考试属于Online Judge题目,提交后由系统即时判分. 2.学生可以在考试截止时间 ...

  3. 将训练好的tensorflow模型移植到android应用中

    具体步骤如下: 1.  TFLiteConverter保存模型 修改网络模型代码,将模型通过TFLiteConverter转化成为 TensorFlow Lite FlatBuffer即为.tflit ...

  4. CF The World Is Just a Programming Task (Easy Version)【分析·思维】

    题目传送门 题意: 给定一个括号序列,随意交换两个位置的括号之后,问有多少个不同长度的圈.关于圈的定义大概就是:将括号序列的后$k$个数放到括号序列的最前面,就是长度为$k$的圈.(看了好久题意emm ...

  5. 深入理解java:4.2. 框架编程之Spring框架的设计理念

    什么是Spring呢? Spring是为了解决企业应用开发的复杂性而创建的一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架. Spring优点 简单了解Spring之后,我们看一下Spri ...

  6. 深入理解java:2.3.3. 并发编程concurrent包 之容器ConcurrentHashMap

    线程不安全的HashMap 因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap. 效率低下的HashTable容器 H ...

  7. python 并发编程 协程 greenlet模块

    一 greenlet模块 不敢是yield,还是greenlet都没有实现检测io,实现遇到io切换效果 如果我们在单个线程内有20个任务,要想实现在多个任务之间切换,使用yield生成器的方式过于麻 ...

  8. 利用三层交换机实现VLAN间路由

    利用三层交换机实现VLAN间路由 本实验模拟企业网络场景.公司有两个部门一销 售部和客服部,分别规划使用VLAN 10和VLAN 20.其中销售部下有两台终端PC-1和PC-2,客服部下有一台终端PC ...

  9. Hive-Container killed by YARN for exceeding memory limits. 9.2 GB of 9 GB physical memory used. Consider boosting spark.yarn.executor.memoryOverhead.

    Caused by: org.apache.spark.SparkException: Job aborted due to stage failure: Task times, most recen ...

  10. [转帖]linux学习问题总结

    linux学习问题总结 https://www.cnblogs.com/chenfangzhi/p/10661946.html 学习作者的思路 目录 一.环境变量和普通变量的区别 二.rsyslog和 ...