创建视图
Django是一个模型-模板-视图(model-template-view,MTV)框架。
视图部分通常检查看HTTP给出的请求和查询或者结构,这些信息是发送到表示层的数据。
我们在 hello.py 中创建一个执行“Hello World”响应的简单方法。
from django.http import HttpResponse
def index(request):
return HttpResponse('Hello World')
在大型项目中,这段代码通常会放在应用程序内的 views.py 文件中。不过这不是必须的。
URL模式
要把视图绑定到网站结构上,需要将它与一个URL模式相关联。对于这个例子,服务器根目录会自己处理这个视图。Django通过将一个正则表达式和可调用的参数像匹配与视图的URL进行关联。下面是一个在 hello.py 中创建关联的例子:
from django.conf.urls import url
from django.http import HttpResponse
def index(request):
return HttpResponse('Hello World')
urlpatterns = (
url(r'^$', index)
)
这个文件就相当于把views.py和urls.py合并到一起了。
大型项目中一班把url patterns放到urls.py文件中。
运行示例
我们将 manage.py 的功能也加入到 hello,py 中,用一个程序来时间一个简单的Django程序:
import sys
from django.conf import settings
settings.configure(
DEBUG=True,
SECRET_KEY='thisidzifeiyssecretkey',
ROOT_URLCONF=__name__,
MIDDLEWARE_CLASSES=(
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
),
)
from django.conf.urls import url
from django.http import HttpResponse
def index(request):
return HttpResponse('Hello World')
urlpatterns = (
url(r'^$', index),
)
if __name__ == '__main__':
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)