石家庄有没有销售做被用的网站,网站推广排名报价,吉林省建设厅官网查询,温州网站建设 首选国鼎网络好一、路由 就是根据用户请求的URL链接来判断对应的出来程序#xff0c;并返回处理结果#xff0c;也是就是URL和django的视图建立映射关系. 二、Django请求页面的步骤 1、首先Django确定要使用的根URLconf模块#xff0c;通过ROOT_URLCONF来设置#xff0c;在settings.py配置…一、路由 就是根据用户请求的URL链接来判断对应的出来程序并返回处理结果也是就是URL和django的视图建立映射关系. 二、Django请求页面的步骤 1、首先Django确定要使用的根URLconf模块通过ROOT_URLCONF来设置在settings.py配置文件中。但是如果传入 HttpRequest对象具有urlconf 属性由中间件设置则其值将用于替换ROOT_URLCONF设置 2、 Django加载该Python模块并查找该变量 urlpatterns。它是django.urls.path()和(或)django.urls.re_path()实例的序列(sequence)。urlpatterns表示路由模型通过路由模型寻找里面具体的地址 3、Django按顺序运行每个URL模式并在匹配所请求的URL的第一个URL中停止。
4、一旦正则表达式匹配Django将导入并调用给定的视图这是一个简单的Python函数或基于类的视图。该视图会获得如下参数 一个HttpRequest实例。如果匹配的正则表达式没有返回任何命名组那么来自正则表达式的匹配将作为位置参数提供。关键字参数由正则表达式匹配的任何命名组组成由可选kwargs参数中指定的任何参数覆盖。django.urls.path\(\)、django.urls.re_path\(\) 5、如果没有正则表达式匹配或者在此过程中的任何一点出现异常Django将调用适当的错误处理视图 三、urls中path参数说明 https://docs.djangoproject.com/en/4.2/topics/http/urls/ 1系统已经配置好一个路由这个路由访问就是django自带的后端管理系统 启动项目 python manage.py runserver 通过地址加路由的admin去访问http://127.0.0.1:8000/admin/login/?next/admin/ (2) 设置自己的页面路由 2.1 编写视图函数 from django.http import HttpResponse
from django.shortcuts import render# Create your views here.
# 视图函数
def info(request):#响应数据return HttpResponse(HelloWorld~~~~)
2.2 在urls中配置路径
from django.contrib import admin
from django.urls import path,include #导包includefrom user.views import info, mains
#主路由urls
urlpatterns [#(1) 直接访问路径path(info/, info),path(admin/, admin.site.urls),]2.3 启动访问http://127.0.0.1:8000/info/ 四、路由分发 为了方便管理项目一般会在对应的项目里面添加一个urls的子路由文件要让系统识别子路由需要导入方法include也被称为路由分发 原因 django项目中多个app目录共用一个url容易造成混淆后期维护也不方便
解决使用路由分发让每个app目录都单独拥有自己的urls
步骤
1.在每个app目录都创建一个urls.py的文件拷贝主路由urls.py进行修改
2.在视图veiws.py文件编写视图函数
from django.http import HttpResponse
from django.shortcuts import render# Create your views here.
# 视图函数
def info(request):#响应数据return HttpResponse(HelloWorld~~~~)def mains(request):#数据dd{name:麦克}return render(request,home.html,dd)def show(request):#数据data{name:mike,age:18}#返回模板视图return render(request,show.html,{data:data})
3.在urls导入app目录下的views.py文件
from django.urls import path
#导入视图
from user.views import info,mains,show#如果shows页面可能有多个那么需要用到命名空间。
# app_nameuser#子路由urls
urlpatterns [#path(路由访问路径视图名称)path(info/, info),path(mains/, mains),path(show/, show),# path(路由访问路径视图名称,别名)path(show/, show,nameshows),
]4. 模板页面 home.html
!DOCTYPE html
html langen
headmeta charsetUTF-8title渲染视图/title
/head
body
h1欢迎您span stylecolor:royalblue【{{ name }}】/span 来到a href/user/show/第二页/a/h1{# 使用别名来替代硬编码 #}
a href{% url shows %}使用别名/ap/{# 使用命名空间别名来替代硬编码 #}
{#a href{% url user:shows %}使用命名空间别名/ap/#}/body
/html
show.html
!DOCTYPE html
html langen
headmeta charsetUTF-8title渲染视图/title
/head
bodyh1 hello ! {{ data }}/h1
/body
/html 5.在主路由配置子路由 from django.contrib import admin
from django.urls import path,include #导包includefrom user.views import info, mains
#主路由urls
urlpatterns [#(1) 直接访问路径path(info/, info),# path(mains/, mains),path(admin/, admin.site.urls),#2使用子路由来访问#一个应用对应一个子路由path(user/,include(user.urls))
] 6.启动项目:http://127.0.0.1:8000/ http://127.0.0.1:8000/user/mains/ 点击第二页 或 单击使用别名 五、问题如果shows页面可能有多个那么需要用到命名空间。
1在子路由进行定义命名空间 2在home.html页面中使用 a href{% url user:shows %}使用命名空间别名/a3 访问http://127.0.0.1:8000/user/mains/ 单击超链接