最小的Django项目
- 用一个hello.py文件包含了运行一个Django项目所需的所有代码,其中
创建一个为根目录URL提供服务的视图,以及配置Django环境所需的配置
- 创建视图
Django是一个**模型—模板—视图(model-template-view,MTV)**框架
视图部分通常查看HTTP给出的请求和查询或者结构,这些信息是发送到表示层的数据
视图一般放在views.py 文件中
- URL模式
将视图与URL模式关联,来把视图绑定到网站结构上。
Django通过将一个正则表达式和可调用的参数相匹配与视图的URL进行关联
如:
from django.http import HttpResponse
from django.conf.urls import url
# 创建视图
def index(request):
return HttpResponse('Hello World')
# 关联URL模式
urlpatterns = (
url(r'^$',index),
)
一般把URL模式放在urls.py文件中,但不一定。
- 设置
from django.conf import settin
# 设置
settings.configure(
DEBUG = DEBUG,
SECRET_KEY = SECRET_KEY,
ROOT_URLCONF = __name__,
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
),
)
上面,Django使用urlpatterns文件定义的值。
通常来说,这些设置会包含在settings.py文件中。
-
运行与WSGI应用
典型的Django项目带有一个manage.py文件,这个文件用于运行如创建数据库表、启动开发服务器等多个命令。
这个文件共有10行代码。把文件的相关部分添加到上例中,实现manage.py功能
import sys
if __name__ == '__main__':
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
接着就可在命令行中启动例子:
python hello.py runserver
通过浏览器访问http://localhost:8000/,就能看到"Hello World"
runserver对本地开发很方便,但不适合于产品部署的开发性
Web服务器网关接口(WSGI)是一份有关Web服务器如何与Django一类的应用框架通信的规范。
Django通过get_wsgi_application提供了一个用于创建这个应用的简单接口。
这个接口通常会包含在startproject命令所创建的wsgi.py文件中
- 可复用模板
将文件转换为可复用的模板,用相同的基本布局设计未来的项目。
startproject的模板是一个目录或zip文件,当命令运行时形成Django模板。默认情况下,所有的python源文件都会被制成模板。制作过程中会把project_name、project_directory、secret_key和docs_verison作为上下文传递。