一、Django中的app
1、Django中的一个APP就是一个应用的意思
2、项目可以包含多个app(多个应用)
3、一个项目可以对应一个网站(生活服务类网站)
4、一个app对应网站的一个应用(二手交易、家政服务)
二、创建一个app
执行命令 python manage.py startapp dan # da 是app的名字
三、http请求处理
通过如下网址获取所有学生信息
http://localhost/student
具体过程如下:
1、请求发送到后台
2、wsgi server 传递给django框架
3、Django框架查看路由表
4、根据路由表配置,调用相应的函数(方法)处理
四、定义消息处理函数
1、修改文件 main/views.py
studentTable = { 'zhangsan':{ 'loginname':'zhangsan', 'name':u'张三', 'age':16, }, 'lisi':{ 'loginname':'wanger', 'name':u'李四', 'age':18, }, 'xudandan':{ 'loginname':'xu', 'name':u'徐', 'age':23, }, } def show_all_students(request): allName = [one['name'] for one in studentTable.values()] #列表生成式 response = u''' <!DOCTYPE html> <html><head><meta charset="UTF-8"></head> <body>%s</body></html> '''% u','.join(allName) return HttpResponse(response)
定义好函数后,还要在总路由表中配置下
urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^student$',views.show_all_students),
httpResponse缺省是UTF-8编码,如果传递unnicode对象会被编码成UTF-8格式,入口的参数是unnicode对象,返回的响应也是unnicode对象,django框架把http请求解码为request对象,处理完后返回的东西被框架编码成http响应的消息,框架解决编解码的问题,我们只需要针对这些对象进行操作
五、url子路由表
1、总路由表用 include 包含子路由表
from django.conf.urls import url,include from django.contrib import admin from django.conf.urls.static import static from dan import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^students/', include('dan.urls')),2、先在app目录中创建文件 urls.py ,写出子路由表
3、然后修改总路由表文件,包含子路由表文件
子路由表
from django.conf.urls import url from . import views urlpatterns = [ url(r'^show$',views.show_all_students), url(r'^show2$',views.show_all_students2), ]http://localhost/students/show students是总路由表,show是子路由表