作者:Adam at 2016-11-18 00:58:51
我们前面讲了快速熟悉Django
架构网站的方式
,接下来我们来深入了解一下Django框架
。它不仅提供了建站的方法,也提供了一整套的从开发简单的网站到一个完整维护迭代的开发模式,下面几个方面非常重要。
学会调试
单步调试
直接在代码中插入下面这一行:1234#polls/views.pyfrom django.shortcuts import get_object_or_404, renderfrom .models import Questionimport pdb; pdb.set_trace() #这一行运行程序,就可以在服务器端命令行中一步步的跟踪执行结果。
1234567891011121314151617181920212223242526272829[26/Nov/2016 14:17:49] "GET /polls/ HTTP/1.1" 200 72Performing system checks...> /myFirstDjango/mysite/polls/views.py(6)<module>()-> def index(request):(Pdb) l #这是调试命令:展示当前运行代码1 from django.shortcuts import get_object_or_404, render23 from .models import Question4 import pdb; pdb.set_trace()5 # Create your views here.6 -> def index(request):7 latest_question_list = Question.objects.order_by('-pub_date')[:5]8 context = {9 'latest_question_list': latest_question_list,10 }11 return render(request, 'polls/index.html', context)(Pdb) n #这是调试命令: 下一步> /Users/gzadamlv/myFirstDjango/mysite/polls/views.py(13)<module>()-> def detail(request, question_id):(Pdb) h #这是调试命令:获取帮助,查看所有可用命令Documented commands (type help <topic>):========================================EOF bt cont enable jump pp run unta c continue exit l q s untilalias cl d h list quit step upargs clear debug help n r tbreak wb commands disable ignore next restart u whatisbreak condition down j p return unalias where...Shell 调试方式
用下面的命令进入命令行123456(myFirstDjango)➜ mysite git:(master) ✗ python manage.py shellPython 2.7.10 (default, Oct 23 2015, 19:19:21)[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwinType "help", "copyright", "credits" or "license" for more information.(InteractiveConsole)>>>
通过在命令行引入程序中使用的模块、函数来跟踪返回结果。
学会测试
修改models.py
给class Question增加一个方法
添加测试文件:polls/tests.py
运行测试
修改was_published_recently方法
再运行测试
学会写文档
安装:
pip install Sphinx
运行sphinx-quickstart
命令(下面几项要选yes
)
|
|
生成文档:
make html
打开网页:_build/html/index.html
默认模版不太好看,我们新加一个主题:pip install sphinx_rtd_theme
在conf.py
最后增加:
再make html
,初始化文档生成成功:
但是我们会发现并没有看到程序中的文档,别着急,还差两步。
先用sphinx-apidoc
把app
目录中python
程序的文档内容提取出来,保存到api
这个目录。
最后,我们需要编辑index.rst这个文件:
再次make html
,大功告成~
这是提取出来的具体文档:
另外:如果make html
出现下面错误
可以试试这个:
别小看上面这三步,其实还有很多细节没能和大家演示,师傅领进门,修行靠个人哦~