问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

django3怎么配置路由(2023年最新解答)

发布网友 发布时间:2024-09-30 19:41

我来回答

1个回答

热心网友 时间:2024-10-24 07:03

导读:很多朋友问到关于django3怎么配置路由的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!

【Django】路由配置:反向解析、重定向

简单的路由配置

【注意事项】:

(1):若要从URL中捕获一个值,只需要在它周围放置一对圆括号。

(2):不需要添加一个前导的反斜杠,因为每个URL都有。例如,应该是^articles而不是^/articles。

(3):每个正则表达式前面的'r'是可选的但是建议加上。它告诉Python这个字符串是“原始的”——字符串中任何字符都不应该转义

(4):urlpatterns中的元素按照书写顺序从上往下逐一匹配正则表达式,一旦匹配成功则不再继续

在使用Django项目时,一个常见的需求是获得URL的最终形式,以用于嵌入到生成的内容中(视图中和显示给用户的URL等)或者用于处理服务器端的导航(重定向等)。

在需要URL的地方,对于不同层级,Django提供不同的工具用于URL反查:

反向解析的过程:用户通过/login/这个接口到达urls.py,然后通过path("login/",views.login,name="log")到达views.py(用于视图函数)

在实现逻辑功能时,可能会需要实现重定向的功能。

(1)、通过redirect函数或HttpResponseRedirect函数硬编码的形式

(2)、通过URLconf路由命名空间的形式。

(3)、如果在逻辑函数中不做任何处理,可以直接在url中配置。

ajax请求接口里的数据,然后显示在页面里

1、在模板中使用了jQuery插件封装的ajax,我用到的是get请求,这在django中涉及到模板和静态文件的使用。

2、然后配置路由,因为我们在ajax中请求的路由地址是getdata,所以在django路由中也要设计这个路由url,并且用views的函数处理路由。

3、然后用视图函数处理对应路由url的请求,然后导入方法JsonResponse,然后我自定义一个字符串,并且用键值对字典的形式返回。注意,最好用JsonResponse方法返回数据,不然可能得不到json格式的数据。

4、get请求中的data参数就是存储后台返回的数据的,但是这个数据是json格式的,所以我们可以通过data.键名(刚才定义的u),这样就可以取出数据了。

5、运行django服务器之后,点击按钮,那么就会开始请求数据,然后弹出数据。可以看到数据跟后台定义的数据一模一样。

Django路由系统(一)

urlpatterns=[

url(正则表达式,views视图函数,参数,别名),

]

注意:

Django2.0版本中的路由系统已经替换成下面的写法(官方文档):url替换成path

参数说明:

正则表达式:一个正则表达式字符串,网站访问路径

views视图函数:一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串

参数:可选的要传递给视图函数的默认参数(字典形式)

别名:一个可选的name参数

注意事项

urlpatterns中的元素按照书写顺序从上往下逐一匹配正则表达式,一旦匹配成功则不再继续。

若要从URL中捕获一个值,只需要在它周围放置一对圆括号(分组匹配)。

不需要添加一个前导的反斜杠,因为每个URL都有。例如,应该是^articles而不是^/articles。

每个正则表达式前面的'r'是可选的但是建议加上。

是否开启URL访问地址后面不为/跳转至带有/的路径的配置项

APPEND_SLASH=True

Djangosettings.py配置文件中默认没有APPEND_SLASH这个参数,但Django默认这个参数为APPEND_SLASH=True。其作用就是自动在网址结尾加'/'。

如果在settings.py中设置了APPEND_SLASH=False,此时我们再请求时就会提示找不到页面。

上面的示例使用简单的正则表达式分组匹配(通过圆括号)来捕获URL中的值并以位置参数形式传递给视图。

在更高级的用法中,可以使用分组命名匹配的正则表达式组来捕获URL中的值并以关键字参数形式传递给视图。

在Python的正则表达式中,分组命名正则表达式组的语法是(?Pnamepattern),其中name是组的名称,pattern是要匹配的模式。

比如:注意P是大写

deftest(request,year,month):函数引入year和month

以上方式捕获的参数永远都是字符串

每个在URLconf中捕获的参数都作为一个普通的Python字符串传递给视图,无论正则表达式使用的是什么匹配方式。

python——Django项目开发:配置项目/static/路径,调用css、img、js等静态文件

在Django项目开发中,不能像正常web开发一样通过'imgs/bg.jpg'访问本地静态文件,需要做一些配置,才能实现静态文件的访问。

一、首先在项目根路径下新建一个static文件夹,然后在static文件夹下可以新建相应的css、imgs、js等文件夹,用于存放css、img、js等静态文件。

二、项目配置

1、打开settings.py,在底部添加:

2、打开urls.py,在urlpatterns中添加:(注意,如果你在blog目录下也建立了urls.py,那么就得在blog/urls.py中做修改。别忘了importsettings):

(不过我经过实测,不加这一个,也可以完成静态文件的访问)

3、在html模板最上面添加:

然后在需要的地方按照这个格式进行调用,如:

最后重新运行项目,img等本地静态文件就可以被django找到了,这时模板对应的页面就可以显示使用img等文件了。

djangofromdjango.conf.urlsimporturl

fromdjango.conf.urlsimporturl

在django4.0已经被删除

可使用fromdjango.urlsimportpath进行配置路由

结语:以上就是首席CTO笔记为大家整理的关于django3怎么配置路由的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django3怎么配置路由的相关内容别忘了在本站进行查找喔。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
婚床别人睡有什么不利 qq空间怎么上传视频才能保持原画质? 您好,我申请了办理信用卡的,接近过年了,会不会延长审核时间你跟我说... 申请信用卡第四天了,快过年呀,是不是要等到过了年才能下来了_百度知 ... 年前二十五在建行申请的信用卡几天能下卡 现在离过年还有19天,这两天办信用卡能在15天左右收到卡吗? 过年前四天通过的信用卡过年能寄到吗 编辑文档的时候,光标放在漏输文字的地方,输入的文字会把光标后面的文字... 下一站再爱你是谁唱的? 《下一站再爱你》票价 为什么django一定要配置url(2023年最新分享) django音乐url怎么(2023年最新整理) 4个月宝宝爱啃袖子怎么纠正? django升级了url怎么配置文件(2023年最新整理) 语文课前3分钟演讲稿,明天就要 急!!!最好与最近发生的事有关!!! 随 ... 股票什么时候除权呢 什么时候会除权 股票除权日是什么时候 股票每年什么时候除权 什么时候需要除权 股票一般什么时候除权 养老保险个人一年交12000退休拿多少? 孕晚期怎么缓解便秘? 开塞露治眼袋吗? 红霉素软膏和开塞露能一起治眼袋吗 护肤品一直用一个牌子好吗 成套用还是搭配用好 巨细!小姐姐告诉你关于 BeautifulSoup 的一切(上) ...的实验装置图,请根据相关知识回答以下问题. (1)A装置中铁丝燃烧的现... ...水生成气体体积与时间关系图,试回答下列问题.(1 图为电解水的装置,根据观察到的实验现象回答:(1)C管中生成的气体是... 小孩子喜欢玩袖子是怎么回事 django前端怎么通过url传递参数(2023年最新分享) 在Django中怎么设置静态文件(2023年最新整理) 赛扬J1900是什么处理器 j1900处理器性能如何? e3845和j1900性能对比 赛扬j1900性能怎样 在cad中怎么用直径符号? cad中直径用什么符号表示? 有熊氏迁徙分布 买了一个铁三角的c502,求教下简单的煲耳机方式 i74790k和e31231 v3哪个好 手机上的excel表格传到电脑上怎么打开? 煎制牛排,如何达到嫩滑口感,同时兼顾香气? 美图m8保存的图片视频都没有了在图库找不到了怎么回事啊 ...的IOS6的美图秀秀照的照片哪里去了?相册里面没有啊。。 为什么想美化照片的时候,图库里的照片却显示不出来 我是T字油性皮肤,进一年总有粉刺出现 装了影子系统就不用再装杀毒软件了!影子系统比装有杀毒软件的运行更快... 高分求额头T字部出油问题!