django外调用url_Django学习(url配置及参数获取)
Django 如何处理一个请求
当用户通过浏览器发送一个请求给Django网站时,Django执行过程:
1.Django首先在配置文件setting.py中找到 :ROOT_URLCONF = 'test2.urls' 作为根模块
2.加载模块,执行项目包下面的urls.py 文件中的urlpatterns
3.执行应用包下面的urls.py文件中的urlpatterns
4.遍历整个列表,通过正则表达式会找到基于view的函数或者类
5.如果没有匹配到,则会自动调用Django的错误页面
项目开发中配置url
1.在根目录下的urls文件配置include 引入应用 stu下的urls
from django.conf.urls importurl, includefrom django.contrib importadmin
urlpatterns=[
url(r'^admin/', admin.site.urls),
url(r'^student/',include('stu.urls'))
]
2.在应用stu\urls.py中配置
#coding=utf-8
from django.conf.urls importurlimportviews
urlpatterns=[
url(r'^hello/$',views.index_view)
]
3.在应用stu中的views.py文件中定义一个函数
#-*- coding: utf-8 -*-
from __future__ importunicode_literalsfrom django.http importHttpResponsefrom django.shortcuts importrender#Create your views here.
defindex_view(request):return HttpResponse('hello')
4.访问浏览器:输入127.0.0.1:8000/student/hello/
带参数的URLConf
.位置传参
#stu\urls.py
from django.conf.urls importurlimportviews
urlpatterns=[
url(r'^hello/(\d{4})/(\d{2})',views.index1_view)
]
#stu\views.py
defindex1_view(request,num1,num2):return HttpResponse('hello_%s_%s' %(num1,num2))
.关键字传参
from django.conf.urls importurl
importviews
urlpatterns=[
url(r'^hello1/(?P[0-9]{4})/(?P[0-9]{2})/(?P[0-9]{2})/$',views.index2_view)
]
defindex2_view(request,year,month,day):return HttpResponse('hello_%s_%s_%s' %(year,month,day))
.额外传参
from django.conf.urls importurlimportviews
urlpatterns=[
url(r'^hello2/(?P[0-9]{4})/(?P[0-9]{2})/(?P[0-9]{2})/$', views.index3_view,{'name':'lisi'}),
]
defindex3_view(request,year,month,day,name):return HttpResponse('hello_%s_%s_%s_%s' % (year, month, day,name))
逆向解析(防止硬编码)
.模板中的超链接
通过127.0.0.1:8000/student/ 访问视图views中index_view函数 ,进入index.html文件
在index_html文件中,通过超链接去访问 name='hello' 路由地址
获取到视图views中index4_view函数中所返回的内容
#coding=utf-8
fromdjango.conf.urls import url
import views
urlpatterns=[
url(r'^$',views.index_view),
#逆向
url(r'^hello4/(\d{2})', views.index4_view,name='hello')
]
# -*- coding: utf-8 -*-
from__future__ import unicode_literalsfromdjango.http import HttpResponsefromdjango.shortcuts import render
# Create your views here.
def index_view(request):return render(request,'index.html')
def index4_view(request,num):return HttpResponse('index4_view_%s' %num)
Title
链接1
.视图中的重定向
通过访问127.0.0.1:8000/student/hello5/ 获取到index5_view 函数
执行index5_view 通过重定向 获取访问name ='hello' 的函数
进入index4_view 函数,通过传入的参数 返回到页面
urlpatterns=[
url(r'^$',views.index_view),
#逆向
url(r'^hello4/(\d{2})', views.index4_view,name='hello'),
url(r'^hello5/', views.index5_view)
]
def index4_view(request, num):return HttpResponse('index4_view_%s' %num)
def index5_view(request):return HttpResponseRedirect(reverse('hello',args=(99,)))
django外调用url_Django学习(url配置及参数获取)相关推荐
- django外调用url_Django urls 配置 ,模版url调用
urls.py 配置方法 1.先配置全局工程下的 url 分发,通过不同的url 匹配规则,分发到不同的app (app可理解为不同的站点) 一般设置全局工程的 url.py 分发到 -------- ...
- django外调用url_Django url
三 分组命名匹配 上面的示例使用简单的正则表达式分组匹配(通过圆括号)来捕获URL中的值并以位置参数形式传递给视图. 在更高级的用法中,可以使用分组命名匹配的正则表达式组来捕获URL中的值并以关键字参 ...
- django外调用url_Django:中间件 与 案例
" Scrapy 有中间件, Django 也有中间件,中间的作用可以用来防止爬虫等,具体不阐述. 然后就是看完前面的估计也是云里雾里的,这里给出一个 Demo ,放在github库,应该会 ...
- java 配置微信js sdk,微信JSSDKconfig接口注入权限验证配置的参数获取--java版
步骤看官网文档,这里只有java后台代码 签名工具类 import java.security.MessageDigest; import java.security.NoSuchAlgorithmE ...
- java子类参数传递给父类_java – 为什么调用将父类作为参数的方法调用,而不是将子类作为参数获取的方法?...
我有一个名为A的类,以及一个名为B的类,它扩展了A. 玩一些方法来理解多态行为,我遇到了一个奇怪的情况. public class Main { public static void main(Str ...
- url携带的参数获取并处理demo
url demo: http://servername/webname/pagename.csp?paramName=paramValue¶mName2=paramName2& ...
- php django mysql配置文件_Mysql学习Django+mysql配置与简单操作数据库实例代码
<Mysql学习Django+mysql配置与简单操作数据库实例代码>要点: 本文介绍了Mysql学习Django+mysql配置与简单操作数据库实例代码,希望对您有用.如果有疑问,可以联 ...
- 使用java构建一个挡板程序-5-使用webFilter实现挡板服务URL配置化
实现方式 #mermaid-svg-QXxqGHoQSCV6YNFY {font-family:"trebuchet ms",verdana,arial,sans-serif;fo ...
- fastapi学习(二):路径参数获取与GET、POST参数获取
文章目录 路径参数获取 Get参数获取 Post参数获取 完整代码 Fastapi中是用模板来匹配URL: 路径参数获取:获取自定义的构造URL时的参数 Get参数获取:获取一个URL后面带的?par ...
最新文章
- matplotlib 标签_为折线图添加数据标签的方法,附代码
- 前端技术演进(三):前端安全
- 北大中文期刊目录_最新版语言学C刊及北大核刊投稿方式全收录
- POJ 3258 -- River Hopscotch(二分)
- struct linger
- NVIDIA Jetson AGX Xavier 安装 JetPack 注意事项
- java long short_Java Long类shortValue()方法与示例
- 数字图像识别笔记(第三章-灰度变换与空间滤波)
- 记得收藏这12个爆款 Java 开源项目!【附源码】
- Linux 从查看本机地址到端口映射
- 几种主流编程语言的优点和缺点比较,不服来怼
- java 汇率转换_汇率转换 实现了一个用于多币种之间汇率转换的程序 联合开发网 - pudn.com...
- mx330属于什么档次的显卡
- 慕课网风袖小程序 一一第一阶段
- 第一章 Web应用程序开发基础
- 3055. 字符频率
- hiredis linux 编译,Linux系统整合hiredis
- 捷的軟體開發流程(CMMI)
- JDBC链接数据库的步骤
- win7 (win 10) 新建文件夹的 快捷键
热门文章
- Django源码分析5:session会话中间件分析
- 为啥同一个程序,单步执行和debug执行出现的结果不一样呢?
- 爬虫正则表达式遇到的困难
- ACMNO.5给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。 90分以上为A 80-89分为B 70-79分为C 60-69分为D 60分以下为E
- 七个算法小仙女,写出一本1200页的深度学习技术手册!(限时公开下载)
- SVO: 视觉SLAM中特征点法与直接法结合
- 链表问题7——判断一个链表是否为回文结构
- Java8 对Map进行排序
- php页面最大执行时间 set_time_limit函数不起作用
- CUDA FORTRAN编译器