Introduction
上一章,我们终于把django安装好了,并且运行了你的第一个django界面。
编写自己的首页打印请求地址
前面展示的主页是Django自带的,现在我们要开始编写自己的首页,打印出当前请求路径。不过我们首先要创建一个新的应用(app)来实现这个功能。Django的一个项目(project)是可以包含多个应用(app)。
创建新的app
使用python manage.py startapp demo
命令创建一个名为demo的应用,然后把其加入项目配置文件settings.py
的INSTALLED_APPS中去, 如下所示。这是你会发现mysite目录下多了demo文件夹,专门存放与应用相关的文件比如视图views.py
和urls.py。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'demo', # 注册app
]
然后编辑mysite/urls.py
, 把demo应用的urls也加入到项目的urls中去,如下所示:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('demo.urls')) # 加入app对应urls
]
编写视图函数和 URL 配置
编辑demo/views.py
, 新增一个名为index的视图函数。每个视图函数的第一个默认参数都必需是request, 它是一个全局变量。Django把每个用户请求封装成了request对象,它包含里当前请求的所有信息,比如请求路径request.path
, 当前用户request.user
以及用户通过POST提交的数据request.POST
。
index视图函数通过调用HttpReponse
方法打印输出当前的请求路径request.path。
# demo/views.py
from django.http import HttpResponse
def index(request):
return HttpResponse("请求路径:{}" .format(request.path))
接下来我们要进行URL配置。新建demo/urls.py,
添加如下代码,其作用是将用户请求的地址与实际需要执行的视图函数相关联。下例中当用户在浏览器中访问index/时,Django将解析url,并调用执行views.py
中的index视图函数。
# demo/urls.py
from django.urls import path
from . import views
app_name = "demo"
urlpatterns = [
path('index/', views.index, name='index'),
]
测试访问
使用python manage.py runserver
命令重新启动测试服务器,并访问http://127.0.0.1:8000/index/, 你将看到如下页面:
本文介绍了如何安装Django并使用它,并提供了一个打印当前请求路径的演示案例。然而演示案例中没有用到数据库,而输出的内容也没有美化格式。实际应用中我们向客户端输出的数据大多来自数据库,会通过漂亮的模板或客户端向用户展示数据,这就涉及到模型和模板的使用了。我们后面会做详细介绍。
(来源:大江狗)