02-url路由分配及模板渲染方式
本章主要内容
1、url基本概念及格式
2、path和re_path
3、模板路径配置
4、模板渲染方式
1、url基本概念及格式
URL(uniform Resoure Locator)统一资源定位符,是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址,互联网上的每个文件都有唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
URL格式:
http://127.0.0.1:8000/hello/
URL解释:
schema://host[:port#]/path/.../[?query-string][#anchor]
schema:指定使用的协议(例如:http, https, ftp)
host:Http服务器的IP地址或者域名
port:端口号,
http默认是80端口
path:访问资源的路径 q
uery-string:发送给http服务器的数据
anchor:锚点
Django项目中urls.py的作用
URL配置(URLconf)就像是Django所支撑网站的目录。它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表。以这样的方式告诉Django,对于那个URL调用那段代码。url的加载就是从配置文件中开始
url分析:
浏览器输入的是:127.0.0.1/python/
只有当你输入的url跟后台配置的url一致 才会调用url对应的视图函数
path 基本规则:
from django.urls import path,include,re_path
from . import views urlpatterns = [
path('admin/', admin.site.urls),]
使用尖括号(<>)从url中捕获值。 包含一个转化器类型(converter type) 没有转化器,将匹配任何字符串,当然也包括了 / 字符
默认支持的转换器:
from django.urls import path,include,re_path
from . import views urlpatterns = [path('test/<str:name>/<int:age>/<str:sex>/',views.test),]
str,匹配除了路径分隔符(/)之外的非空字符串,这是默认的形式
int,匹配正整数,包含0。 slug,匹配字母、数字以及横杠、下划线组成的字符串。
uuid,匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。
path,匹配任何非空字符串,包含了路径分隔符
re_path正则匹配
from django.contrib import admin
from django.urls import path,include,re_path
from . import views urlpatterns = [re_path(r'test1/(?P<id>\d+)/',views.test1),]
include的作用:
一个project有一个总的urls.py 各个app也可以自己建立自己的urls.py 用include()函数在project的urls.py文件进行注册
from django.contrib import admin
from django.urls import path,include,re_path
from . import views urlpatterns = [path('teacher/',include('teacher.urls')),]
一个url对应一个视图函数,但我们的视图越来越多时,url也就越来越多
kwargs的作用
传递一个Python 字典作为额外的参数传递给视图函数。
# urls.py 设置 from django.contrib import admin
from django.urls import path,include,re_path
from . import views urlpatterns = [
path('test4/',views.test4,kwargs={'name':'明','age':18,'sex':'男'})
# views.py 设置 from django.http import HttpResponse def test4(request,name,age,sex):
return HttpResponse('name=%s, age=%s,sex=%s'%(name,age,sex))
Kwargs为字典类型 可以传递额外的参数到views中 使用include的时候 需要统一给下面的url一些参数的时候 显得尤其有用
图函数中可以通过关键字参数获取到
name的作用
给一个匹配的url地址取名字 一般用于模板,也可以使用reverse进行页面重定向
app_name='teacher' 的作用用作于区分不不同应用相同的name
# urls/.py 设置 from django.urls import path
from . import views app_name='teacher'
urlpatterns = [
path('index/', views.index,name='index'),
path('login/',views.login)
]
redirect是重定向,reverse是将url的name解析成url本身的函数
# views.py 设置 from django.shortcuts import render,redirect,reverse
from django.http import HttpResponse
# Create your views here.
def index(request):
return HttpResponse('这是我第一个django项目') def login(request):
return redirect(reverse('teacher:index'))
name参数可以给这个url取一个合适的名字。通过给url取名字,以后在view或者模板中使用这个URL,就只需要通过这个名字就可以了。这样做的原因是防止url的规则更改,会导致其他地方用了这个url的地方都需要更改,但是如果取名字了,就不要做任何改动了。
Django调用HTML前端页面
1.在主目录下创建一个templates目录用来存放所有的html的模板文件.
2.templates目录里面在新建各个以app名字命名的目录来存放各个app中模板文件.
如下:
setting.py中的模板路径配置
将我们的设置好的存放html模板的templates目录路径添加到DIRS中,ps注意:要添加个空格
渲染模板
render方法是django封装好用来渲染模板的方法 很方便,很好用!!!
完结
02-url路由分配及模板渲染方式的更多相关文章
- 3/19 Django框架 url路由配置及模板渲染
3/19 Django框架 url路由配置及模板渲染 1.路由分配 URL(Uniform Resoure Locato):统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示, ...
- Django(一):url路由配置和模板渲染
urls.py路由用法 url基本概念 url格式 urls.py的作用 url解析过程 include的作用 kwarg的作用 name的作用 URL概念 URL(Uniform Resoure L ...
- Django 02 url路由配置及渲染方式
Django 02 url路由配置及渲染方式 一.URL #URL #(Uniform Resoure Locator) 统一资源定位符:对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是 ...
- Django 学习第二天——URL路由及模板渲染方式
URL 的概念及格式: URL的引入:客户端:知道了url 就可以去进行访问: 服务端:设置好了url,别人才能访问到我 URL :网址(全球统一资源定位符):由 协议,域名(ip port) ,路径 ...
- day053 url反向解析图解 模板渲染
一.语法 两种特殊符号(语法): {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 二.变量 1. 可直接用 {{ 变量名 }} (可调用字符串, 数字 ,列表,字典,对象等) ...
- 巨蟒python全栈开发django4:url反向解析图解&&模板渲染
第一部分: 1.(1)知识点回顾: django回顾: ()下载安装 输入网址,a,form表单get post,爬虫 (请求)==>django项目服务端的url(r"index/& ...
- Django路由分配以及模版渲染
路由上: 在网络上区分不同的电脑通过IP.端口和网卡的MAC地址等,在web框架中怎么区分不同的请求呢,就是通过 ‘url(路由)’ ,url 学名叫做全球统一资源定位符,其实就是一个网址 一个url ...
- 巨蟒python全栈开发django4:url反向解析图解&&模板渲染2
注意:前端有aaa变量,后端没有aaa变量,存在p标签,但是显示不出来 有p标签,我们可以指定默认值,在没有其他内容的时候 过滤器有60多种,有点多,用到的时候再记和查 结果: 显示是acd 看长度 ...
- 初学django框架 (urls,include子路由,render模板渲染)(一)
一.urls url的使用为了告诉django哪个url调用那一段代码 如上左图所示,后面的test,test1如下图所示,为视图函数,通过前面的路径,调用后面函数的代码: 只有输入正确的url才会在 ...
随机推荐
- Java 设计模式系列(一)单例模式
Java 设计模式系列(一)单例模式 保证一个类只有一个实例,并且提供一个访可该实例的全局访问点. 一.懒汉式单例 /** * 懒汉式单例类:在第一次调用的时候实例化自己 * 1. 构造器私有化,避免 ...
- sqlserver怎么将excel表的数据导入到数据库中
在数据库初始阶段,我们有些数据在EXCEL中做好之后,需要将EXCEL对应列名(导入后对应数据库表的字段名),对应sheet(改名为导入数据库之后的表名)导入指定数据库, 相当于导入一张表的整个数据. ...
- 关于int转char类型引发的一些思考
signed char unsigned char
- B-spline Curves 学习之B样条曲线的移动控制点、修改节点分析(7)
B-spline Curves: Moving Control Points 本博客转自前人的博客的翻译版本,前几章节是原来博主的翻译内容,但是后续章节博主不在提供翻译,后续章节我在完成相关的翻译学习 ...
- [label][JavaScript][The Defined Guide of JavaScript] 变量的作用域
变量的作用域 一个变量的作用域(scope)是程序中定义这个变量的区域. 全局(global)变量的作用域(scope)是全局性的,即在JavaScript代码中,它处处都有定义. 而在函数之内 ...
- .NET Core2使用Azure云上的Iot-Hub服务
基于工业4.0大背景下的工业物联网是近几年内热门的话题,依靠信息化技术企业可以实现数字化转型,生产可以实现智能化制造,设备可以实现自动化运作.然而,海量的数据采集是整个建设过程的基础环节,如何处理与利 ...
- 在ASP.NET Core2上操作MongoDB就是能这么的简便酷爽(自动完成分库分表)
NoSQL是泛指非关系型的数据库,现今在我们的项目中也多有使用,其独特的优点为我们的项目架构带来了不少亮点,而我们这里的主角(MongoDB)则是NoSQL数据库家族中的一种.事实上,NoSQL数据库 ...
- Python学习-13.Python的输入输出(二)
在Python中,读取文件使用open函数 file=open(r'E:\temp\test.txt','r') var = file.read() print(var) file.close() 第 ...
- asp.net core部署到iis
asp.net core项目部署到IIS稍微不同于之前,记录几个要点: 一.下载安装.NET Core 托管捆绑包,下载地址,这个链接或许不是最新的了,官方文档里面有这个链接,到下图所示位置即可找到. ...
- Windows10 下 github ssh 访问出现 Permission denied(publickey)错误的解决方法
Windows10 下 github ssh 访问出现 Permission denied(publickey)错误的解决方法. 错误信息: git clone git@github.com:ediw ...