Bootstrap

从零开始的Django+vue项目实战(2--视图函数与URL配置)

Introduction

上一章,我们终于把django安装好了,并且运行了你的第一个django界面。
编写自己的首页打印请求地址
前面展示的主页是Django自带的,现在我们要开始编写自己的首页,打印出当前请求路径。不过我们首先要创建一个新的应用(app)来实现这个功能。Django的一个项目(project)是可以包含多个应用(app)。

创建新的app

使用python manage.py startapp demo命令创建一个名为demo的应用,然后把其加入项目配置文件settings.py的INSTALLED_APPS中去, 如下所示。这是你会发现mysite目录下多了demo文件夹,专门存放与应用相关的文件比如视图views.pyurls.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并使用它,并提供了一个打印当前请求路径的演示案例。然而演示案例中没有用到数据库,而输出的内容也没有美化格式。实际应用中我们向客户端输出的数据大多来自数据库,会通过漂亮的模板或客户端向用户展示数据,这就涉及到模型和模板的使用了。我们后面会做详细介绍。

(来源:大江狗)

;