django中的url控制

Posted rootevils

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django中的url控制相关的知识,希望对你有一定的参考价值。

1.django中的第一个控件:url控制  (路由分发)

  urls.py:请求路径与视图函数的之间的关系

步骤:  1.首先是要配置环境,

      2.其次就是引路径

      3.在视图的文件夹里面写相应的函数

简单使用:  1.通过正则加括号分组获取请求参数  (正则只是针对字符串格式的匹配)

        2.一般在写地址的时候用正则中的有名分组,这样以后在调用的时候变量调用的时候直接用的是关键字传参,就可以随便的去书写参数的位置

技术分享图片

 

        3.分发:include(如果出现特别多的url写在一个urls中是非常麻烦的所以我们引出了分发)

第一步:现在urls中先把include引入这个模块.

第二步:在你的app01中自己建立一个urls这个文件,然后把你所有要连接的路径写进去,然后在这个文件夹中添加路径与主目录中的urls连接

第二步: 在原来的urls中书写代码:  path(‘app01‘,include(‘app01.urls)

分发的好处就是在你要写很多的路径的时候全部写在一个urls中会显得很乱那么我们利用分发这个功能就会减少这种凌乱的操作 然你的路径看起来一目了然

 

如何在一个Django中创建一个新的app02 

方法:在Pycharm中的命令窗口里输入一下命令: 

python manage.py startapp app02

技术分享图片

 

反向解析:

问题场景:如果现在有需求要让你改变现在的已有的登陆路径,但是返回的地址还是我以前的那个地址里面所写的页面,这个时候就要用反向解析给原来的路径加一个别名,这个别名记得一定要是不能重复的

硬编路径  :原来的变路径都是硬编的就是要吗直接写清除写死的路径,要吗制空公用路径,但是在改变路径的后就要改变原来的路径,这就叫做硬编)

技术分享图片

加了别名之后的反向解析,浏览器不是别你写的蓝色字体的代码但是pycharm识别他会给你自动的去解析,插看在全局里面有没有你起的这个别名,然后替换路径

技术分享图片

 

解疑答惑:一个问题 :要显示主页面的时候这个路径应该怎么写?

  刚开始的时候我是这样想的直接在路径的位置什么都不加不就行了吗?

技术分享图片 

但是如果你是这样去写的就会出现这样一个问题,就是在你输入任何的路径的时候都会是这个这个index所有的路径都会被拦截,正确的写法是这样的:

技术分享图片

这样就解决了这个拦截的问题

 

二、试图函数

  

Django对于一定最后响应的是一个HttpResponse的实例对象

   三种形式:

    1.HttpResponse(“字符串”)

    2.render(“页面”)

      ——读取文件字符串

      ——渲染变量 (非常实用)以后加上数据库的数据进行渲染的时候加上模板语法很方便

    3.redirect(”重定向“)

 

模板语法:

{{}}  

 

以上是关于django中的url控制的主要内容,如果未能解决你的问题,请参考以下文章

Django分发控制器urls--白话聊Django系列

有啥方法可以使用 python 中的注释在 django 中编写 URL

Django路由控制

python--django之url控制器

Django路由控制

Django开发:django基础 & url控制器