#创建一个 webtest2 项目,执行如下命令:  django-admin startproject webtest2cd webtest2 python manage.py startapp bookINSTALLED_APPS = [     'django.contrib.admin',     'django.contrib.auth',     'django.contrib.contenttypes',     'django.contrib.sessions',     'django.contrib.messages',     'django.contrib.staticfiles',     'book',  #添加book应用到项目中 ]DATABASES = {     'default': {         'ENGINE': 'django.db.backends.mysql',         'NAME': "dbtest",    #数据名提前设置好         'HOST':"localhost",         'PORT':"3306",         'USER':"root",         'PASSWORD':"XXX", #密码自己设置     } } 
 TEMPLATES = [     {         'BACKEND': 'django.template.backends.django.DjangoTemplates',         'DIRS': [os.path.join(BASE_DIR,"templates")],  ##########填写这一条         'APP_DIRS': True,         'OPTIONS': {             'context_processors': [                 'django.template.context_processors.debug',                 'django.template.context_processors.request',                 'django.contrib.auth.context_processors.auth',                 'django.contrib.messages.context_processors.messages',             ],         },     }, ]import pymysql pymysql.install_as_MySQLdb()大概配置好了可以跳转了,使用命令启动 Django 服务器:python manage.py runserver
这时候在编译器中可以看到:
#PS D:\Program Files (x86)\python\webtest2> python manage.py runserver Performing system checks...  System check identified no issues (0 silenced). December 15, 2021 - 20:36:45 Django version 1.11.28, using settings 'webtest2.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK.点击倒数第二行的 htto://127.0.0.1:8000/

from django.shortcuts import render from django.http import HttpResponse  # Create your views here. def index(request):     return render(request,"book/index.html")在webtest2>>>templates>>>book>>>创建一个index.html
<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>Title</title> </head> <body>     <h1>首页</h1> </body> </html>
from django.conf.urls import url,include from django.contrib import admin  urlpatterns = [     url(r'^admin/', admin.site.urls),     url(r"^",include("book.urls")),     #包含booktes应用中的 urls 文件 ] from django.conf.urls import url from . import views  urlpatterns = [     url(r"^index$",views.index), #建立 url 和 views.index 视图函数的关联     url(r"^show(\d+)$",views.show) ] 
 当请求的 url 被看做是一个普通的 Python 字符串且进行匹配时,通常是不包括域名、get 或 post 参数的。请求地址如下: http://127.0.0.1:8000/show1?hello=666
①若去除掉域名和参数部分,并将最前面的/去除后,只剩下如下部分与正则匹配,如下: show
②此时,打开 book/urls.py 文件,定义与这个地址匹配的 url 如下: url(r'^show$',views.show), # 定义 url
③在 book/views.py 中补充创建视图函数 show()
def show(request,id):     return HttpResponse('show')我们可以在匹配过程中从 url 中捕获参数,并把每个捕获的参数都作为一个普通的 Python 字符串传 递给视图的。获取值需要在正则表达式中使用小括号表示,下面两种方式完成:
1:位置参数
此时,可以直接使用小括号,并通过位置参数传递给视图。以下是详细步骤:
①为了提取参数值,我们可以修改上面的正则表达式如下: url(r"^show(\d+)$",views.show),
②修改视图函数 show(),如下:
def show(request,id):     return HttpResponse('show参数值:%s'%id)③完成上述操作后,在地址栏输入如下地址: http://127.0.0.1:8000/show666

2:关键字参数
此时,可以在正则表达式部分为组命名,这就是关键字参数,需要使用到的正则表达式为组命名
|            (?P<name>)           |            分组起别名           | 
①修改正则表达式,其中,?P 部分表示为这个参数定义的名称为 bid[注:后边使用时,必须写相同的名称], 也可以是其它名称,如下: url(r"^show(?P<bid>\d+)$",views.show),
②修改视图 show()函数,注意该视图函数 show()必须要有一个参数名为 bid,否则报错:
from django.http import HttpResponse def show(request, bid):      return HttpResponse("显示关键字参数值:%s" % bid)Django 文档 | Django 文档 | Django (djangoproject.com)
有兴趣可以自行阅读