一、url基本概念及格式
URL概念:
URL(Uniform Resoure Locator)统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简介的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
urls.py的作用:
URL配置(URLconf)就像是Django所支撑网站的目录。它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表。以这样的方式告诉Django,对于那个URL调用那段代码。url的加载就是从配置文件中开始。
二、path和re_path
path基本规则:
path(‘test/<xx>’, views.test)
test/<xx> 使用尖括号(<>)从url中捕获值。包含一个转化器型(converter type),没有转化器,将匹配任何字符串,当然也包括了 / 字符。
views.test 当前的url匹配成功后就会调用后面的视图函数。
默认支持的转换器:
str:匹配除了路径分隔符( / )之外的非空字符串,这是默认的形式;
int:匹配正整数,包含0;
slug:匹配字母、数字记忆横杠、下划线组成的字符串;
uuid:匹配格式化的uuid,如071194d3-6885-417e-1818-6c931e272f-00;
path:匹配任何非空字符串,包含了路径分隔符。
转换器的使用:
1. 设置url:
from django.contrib import admin from django.urls import path urlpatterns = [ path('test/<int:xx>/', views.test3), ]
2. 在视图中将获取到的参数和参数的类型打印出来:
from django.shortcuts import render from django.http import HttpResponse def test3(reuqest, xx): print(xx, type(xx)) return HttpResponse('Hello %s'%xx)
注: 参数名 xx 需要保持一致。
re_path正则匹配:
urls.py
from django.contrib import admin from django.urls import path from . import views urlpatterns = [ re_path('hello/$', views.test5), re_path('^hello/(?P<yy>[0-9]+)/', views.test6), ]
views.py
from django.shortcuts import render from django.http import HttpResponse def test5(request): return HttpResponse('这是用的re_path设置的‘) def test6(request, yy): print(yy, type(yy)) return HttpResponse('hello %s'%yy)
include的作用:
include例子:项目目录下的注urls.py
from django.contrib import admin from django.urls import path,include from . import views urlpatterns = [ path('admin/', admin.site.urls), path('book/',include('book.urls')), ]
kwargs的作用:
name的作用:
name参数可以给这个url去一个合适的名字。通过给url取名字,以后在view或者模板中使用这个URL,就只需要通过这个名字就可以了。这样做的原因是防止url的规则更改,会导致其他地方用了这个url的地方都需要更改,办事如果取名字了,就不要做任何改动了。
在urls.py文件中给url取个名字,并以name方式赋值。
在views.py文件调用时,以redirect进行重定向,reverse将url的name解析成url本身的函数。
三、模板路径配置
1. 在主目录下创建一个templates目录用来存放所有的html的模板文件;
2. templates目录里面在新建各个以app名字命名的目录来存放各个app中模板文件。
四、模板渲染方式
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理