1.url()
1.注意
如果一个访问路径能够匹配到多个url()的时候,那么只找匹配的第一个url()去执行
2.url 传参
1.通过正则的子组传参
2.使用 url()第三个参数 - 字典传参
dic = {
'name':'sa.zh',
'age':'25'
}
url(r'^show/$',show_views,dic)
views.py
def show_views(request,name,age):
pass
2.Django 中的 应用
1.什么是应用
应用就是网站中一个独立的模块程序
在Django中,主目录一般不处理用户的具体请求,主目录主要做的是项目的初始化以及请求的分发.而具体的请求由各个应用去处理
2.创建应用
1.指令
./manage.py startapp 应用名称
ex:
./manage.py startapp news
2.在 settings.py 中进行注册
在 INSTALLED_APPS 中追加应用名称
INSTALLED_APPS = [
'django.contrib.admin',
... ...,
'自定义应用名称'
]
3.练习
1.创建新项目 - netease
2.创建 index 应用,并注册
3.创建 sport 应用,并注册
4.创建 music 应用,并注册
5.创建 news 应用,并注册
3.应用的结构组成
1.migrations 目录
存放的是数据库的中间文件
2.__init__.py
应用的初始化文件
3.admin.py
应用的后台管理配置文件
4.app.py
应用的属性配置文件
5.models.py
Models 与模型相关的配置文件
6.tests.py
测试模块
7.views.py
定义视图的文件
4.分布式路由系统
# 交给 music 应用去处理(转交给music的urls)
from django.conf.urls import include
# url(r'^music/',include('music.urls')),
http://localhost:8000/music/****
# 交给 music 应用中的 index_views 视图去处理
http://localhost:8000/music/index
# 交给 sport 应用去处理(转交给sport的urls)
http://localhost:8000/sport/****
练习:
1.访问路径 localhost:8000/news/index
转交给 news 的urls 再找到index_views处理
2.访问路径 localhost:8000/sport/index
转交给 sport 的urls 再找到index_views处理
3.访问路径 localhost:8000/index/index
转交给 index 的urls 再找到index_views处理
需求:
1.访问路径 http://localhost:8000/music/
交给 music 应用中的 index_views 视图去处理
url(r'^$',index_views)
2.访问路径 http://localhost:8000/music/show
交给 music 应用中的 show_views 视图去处理
http://localhost:8000/music/index
交给 music 应用中的 index_views 视图去处理
news 应用:
1. http://localhost:8000/news/
交给 news 应用中的 index_views 视图去处理
需求
1.http://localhost:8000/
交给 index 应用中的 index_views 视图去处理
2.http://localhost:8000/login
交给 index 应用中的 login_views 视图去处理
3.http://localhost:8000/register
交给 index 应用中的 register_views 视图去处理
只要访问路径不是 music , news , sport 的话,一律都交给 index 应用去处理