1、django搜索路径
使用 import 语句时,Python 所查找的系统目录清单。
查看方式:
import sys
print sys.path
通常无需关心 Python 搜索路径的设置,Python 和 Django 会在后台自动帮你处理好。
2、url匹配模式
基本结构:
'^需要匹配的url字符串$'
PS:实际上最终完整的url串是http://根路径:端口号/需要匹配的url字符串
系统自动添加的部分'http://根路径:端口号/'
eg:url匹配模式:'^latest_books/$'
最终完整的url字符串:'http://127.0.0.1:8000/latest_books/'
1)^:匹配“子串头”。
eg:
'^latest_books/'
'http://127.0.0.1:8000/latest_books/',
'http://127.0.0.1:8000/latest_books/test1/',
'http://127.0.0.1:8000/latest_books/test2/',
'http://127.0.0.1:8000/latest_books/test1/aaa/'
都会被匹配上。
2)$:匹配“子串结尾”。
eg:
'latest_books/$'
'http://127.0.0.1:8000/latest_books/',
'http://127.0.0.1:8000/updir_1/latest_books/',
'http://127.0.0.1:8000/updir_2/latest_books/'
都会被匹配上。
3)子串末尾是否包含'/'
默认情况下必须添加(django开发者的基本习惯),如果不添加将会出现如下情况:
from django.conf.urls import patterns, url, include
urlpatterns = patterns('',
(r'^latest_books$', 'django_web_app.views.latest_books'),
)
如果子串末尾不想包含'/',可在setting.py中添加设置:APPEND_SLASH=False
但是必须安装了CommonMiddleware才会起作用。
4)手动配置网站“根目录”
在不手动配置网站“根目录”对应“视图函数”的情况下,会出现如下情况:
手动配置“根目录”对应“视图函数”:
a)urls.py
from django.conf.urls import patterns, url, include
urlpatterns = patterns('',
(r'^$','django_web_app.views.home_page'),
(r'^latest_books/$', 'django_web_app.views.latest_books'),
)
b)views.py
def home_page(request):
return render_to_response('home_page.html')
c)home_page.html
my home page