Django 网址配置服务,为了给一个应用设计 URL,需要创建一个 Python 模块,通常被称为 URLconf (URL configuration)。
这个模块是纯粹的 Python 代码,包含 URL 模式(简单的正则表达式)到 Python 函数(视图)的简单映射。映射可短可长,可以引用其它的映射。而且由于是纯粹的 Python 代码,可以使用动态构造。
此部分内容了解即可,现今开发系统都是基于前后端分离的模式,因此使用的都是REST的路由设置。

什么是网址
浏览器上显示的 URL 是 https://www.baidu.com。URL 是唯一表示在 Internet 上发布的文件(页面、图像、视频)的。

URL 调度程序
Django 的 URL 调度器就像一个调度器,根据 URL 决定显示什么页面,它是 Django 的一个内置特性。
例如当用户访问 “https://www.baidu.com” 时, Django 的 URL 调度程序起作用。
用户通过指定 URL 请求页面的流程 → URL 调度程序通过 URL 启动流程并将页面返回给用户。
URLConf
Django 的 URL 调度程序的行为应该写在一个名为 URLConf 的配置文件( urls.py )中。
Django 的 URL dispatcher = URLConf = urls.py
URLConf 是一种适用于处理 内容更改为相同设计的页面(动态页面) 的机制。
当然也可以处理 像图像文件(静态文件)一样不会改变的文件。
路由设置示例
实际编写 urls.py 的同时解释 urls.py 的操作,Django 的项目名称为 xxxx,应用程序的名称为 myapp 。
myapp 项目下的url.py。
from django.urls import path, re_pathfrom . import viewsurlpatterns = [ path('<int:id>', views.index_page, name='index_page'), re_path('^<int:id>$', views.index_page, name='index_page'),]
xxxx 项目下的 url.py
from django.contrib import admin django.contrib import adminfrom django.urls import path, includeurlpatterns = [ path('admin/', admin.site.urls), path('index/', include('myapp.urls', namespace='myapp')),]
这样就直接调用了xxxx项目下myapp应用的路由。即网址是
https://www.xxxx.com/index/<id>
WWW 参数说明
APPEND_SLASH
是否匹配URL的URLconf模式,默认是True不需要动,作用就是自动在网址结尾加 /。
APPEND_SLASH = True
urls.py
from django.conf.urls.defaults import *from .views import *urlpatterns = [ path('hello/', helloviews,name='hello'),)
http://xxxx.com/hello 自动转到 http://xxxx.com/hello/
PREPEND_WWW
用于 url 前面缺少 www. 的 url 将会被重定向到相同但是以一个 www. 开头的url。
PREPEND_WWW = False
http://163.com/ 自动转到 http://www.163.com/
ROOT_URLCONF
定义 Django 项目的 url 默认根目录路径。
settings.py
ROOT_URLCONF = ''ROOT_URLCONF = "appsname.urls"
appsname/urls.py
urlpatterns = [ # 后台管理程序 path('xadmin/', xadmin.site.urls),]

发表评论
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 hailundali@foxmail.com 举报,一经查实,本站将立刻删除。