当前位置: 首页 > news >正文

做视频投稿赚钱的网站试玩app推广网站建设

做视频投稿赚钱的网站,试玩app推广网站建设,双阳区住房和城乡建设局网站,wordpress同步twitter本文使用Pycharm、Django 2.0.9、Python 3.6环境#xff0c;本文大纲 建立Django项目建立页面什么是URLconf和ROOT_URLCONFDjango怎么处理URL请求关于URL尾部的“/” 反斜线1. 建立一个Django项目 Application name如果填写会自动帮你建立一个APP#xff0c;而且APP是必须的本文大纲 建立Django项目建立页面什么是URLconf和ROOT_URLCONFDjango怎么处理URL请求关于URL尾部的“/” 反斜线1. 建立一个Django项目 Application name如果填写会自动帮你建立一个APP而且APP是必须的就算你用命令行去创建一个项目也需要再次使用命令创建APP。勾选Enable Django admin这个后面也会用到。下面是默认的结构。 我们先把下面的内容注释掉因为还用不到数据库。 启动你的项目 点击链接你会看到下面的内容 2. 你的第一个页面 再次启动项目不过这次你点击以后会出现404错误你在URL中输入将会看到你所期待的页面。 这时候你可能有一些疑问我必须要输入/hello么如果我需要输入127.0.0.1:8000就直接看到Hello world页面怎么办毕竟网站都是有一个默认主页不想输入下一级这时候我们就需要修改URL配置了。 这时候无论你是否输入/hello都会显示这个页面如下图 URL中什么都不加也就是网站的根目录其实也根配置其他URL一样需要些一个匹配模式这个模式就是空。可能细心的同学发现我这里的URL匹配模式中没有了^和$包括网站根目录也仅仅是一对引号而不是之前的’^$’这种形式。这是在Django 2.0开始发生的变化2.0以前都是需要加^和$的。但是这里有个问题这里的URL不是正则类型的不是正则就很容易匹配到多个如果我想使用正则类型的怎么办看下图 同样还是主页这里我们用了正则的写法效果还是一样的这个写法就和Django 1.x里面一样了只是这里用了re_path而且在Django 2.x中要想使用支持正则的URL匹配必须使用这个。 现在我们要讨论几个问题 2.1 什么是URLconf和ROOT_URLCONF 一个URL配置文件也就是上面这样的用于配置URL匹配模式的文件就是URLconf。那什么是ROOT_URLCONF呢 在项目层级的settings.py文件中有一个ROOT_URLCONF配置选项这个选项又指向了默认项目层级自动生成的urls.py这个URLconf文件。其实这个ROOT_URLCONF就是告诉DJANGO从哪里开始去找匹配你输入的URL的匹配模式当第一个匹配到之后就执行对应的动作。如果一直找不到就返回404. 2.2 Django是怎么处理请求的呢 比如你输入 http://127.0.0.1:8000/hello的时候它怎么就能返回你所期待的内容呢其实就像上面的ROOT_URLCONF说的那样它指向了一个包含URL匹配模式得URL配置文件这些文件同时还可以再包含其他URL配置文件那么Django就从ROOT_URLCONF配置的地方开始加载URL配置文件然后逐一去匹配找到第一个匹配的就执行对应的动作如果找不到就返回404. 当输入/hello时就匹配到了这条然后去执行hello这个函数这个函数定义在mysite.views中 这个函数要执行的具体内容是做一个HTTP响应返回内容是Hello world。就是这样一个过程。简单一句话URL的配置就是把HTTP请求中的URL映射到具体的Python函数上。 直白一点说请求/hello Django将会调用mysite.views.hello(request)如果有参数参数也会被传递进来至于参数怎么传递之后在介绍。 2.3 关于URL尾部的“/” 这个“/”是必须的吗我好像输入URL时也没有输入这个它自己怎么就给我加上了呢。对于URL来说末尾有没有“/”无所谓但是到底需不需要是你自己来决定的。默认情况下虽然你不输入“/”django会自动给你加上但至于能不能访问到你期望的内容就要看你的URL配置是怎样的。 我们的URL配置是这样的 “hello/” 而且Django默认会自动在末尾增加“/”如果你没输入的话所以这种情况下你在浏览器中是否输入“/”都会访问到你所期待的网页。但如果你这个时候把你URL配置更改一下如下图(去掉“/”) 这时候由于django默认自动在末尾增加“/”所以这时候你就看不到那个页面了将会得到404. 为什么会这样呢很显然 http://127.0.0.1:8000/hello 和 http://127.0.0.1:8000/hello/ 是两个URL后者无法被URL配置文件匹配到啊所以你看它给你的提示第三项就说的很明白了。如果我就不想要这个“/”那应该怎么办呢修改settings.py文件怎讲下面的内容就禁止自动在末尾增加“/”。 这时候你再访问http://127.0.0.1:8000/hello 这个URL就可以访问到了。 但是如果你这时候访问http://127.0.0.1:8000/hello/ 这个就会得到404为什么匹配不到啊。我们再次修改一下URL配置 views.py中增加一个方法 再次访问 所以URL配置中的URL末尾是否包含“/”则是根据喜好都可以。不过根据REST原则“/”只表示分级无特殊意义所以在URL末尾不建议增加“/”.不过对于传统WEB页面来说加与不加都表示同一资源也就是显示同一结果所以django才会自动默认加上“/”。 REST AP设计 2.4 难道所有的URL配置都写在默认的urls.py文件中吗 显然不是这就用到一个include函数了。通常情况下每一个APP都有自己的URL配置文件。 mysite是我们的APP它下面并没有配置URL的地方 其实URL配置文件就是一个.py文件没有什么特殊的我们手动建立一个就行。 空空如也的文件需要写什么呢照猫画虎参照之前那个默认生成的urls.py就可以。先说一下需求所有关于mysite这个APP的URL全部在APP里面的URL配置文件中配置。我们先看这个我们新建的URL配置怎么写 修改默认的url.py文件 到这里就修改完毕。结果就是输入 http://127.0.0.1:8000 结果不变还是我们定义的主页然后 http://127.0.0.1:8000/mysite/hello  则显示mysite.views.hello函数执行结果。如下图 虽然上面两个URL显示结果一样因为执行的都是相同的东西但我们的目的是为了说明URL的引入以及不同APP的URL应该在APP里面设置而不是都写到默认生成的urls.py文件中。 Include()函数的作用就是允许引入其他的URLconf设置当Django遇到带有include()的URL匹配是如果匹配到那么它会截断匹配的内容将剩余的字符串发送到include()里面的URL配置中继续匹配。 http://127.0.0.1:8000/mysite/hello 在默认的URL配置文件中匹配到/mysite/就截断然后将hello发送到mystie里面的urls.py去继续匹配。转载于:https://www.cnblogs.com/rexcheny/p/9635647.html
http://www.pierceye.com/news/771518/

相关文章:

  • 广州市品牌网站建设公司营销型网站开发推广
  • 甜品网站首页设计用php做的网站模版
  • 怎样做企业的网站百度下载安装免费版
  • 常州市网站优化汕头网站建设和运营
  • wordpress 同分类评论调用seo排名是什么
  • 网站建设推广怎么玩软件开发模型是什么
  • 网站开发报价表格海口注册公司代理公司地址电话
  • 西宁好的网站建设视频网站文案
  • 郑州网站优化网络建设有限公司网站建设 交单流程
  • 网站搬家内页打不开重庆市建设工程信息网怎么进不去
  • 深圳 做公司网站网站用什么建设
  • 网站更换空间对优化的影响营销号视频生成器手机版
  • 南宁大型网站推广公司昆山网站制作哪家好
  • 格尔木哪里有做网站的wordpress编辑器排版
  • 怎样开电商襄阳抖音seo找哪家
  • 个人网站 域名舞阳专业做网站
  • 做国外购物网站凤山网站seo
  • 苏州制作网站的有几家WordPress文章编辑链接
  • 免费看电视剧的网站2021网站建设坂田
  • 网站建设中 目录怎么做更好wordpress最好用的虚拟主机
  • 网站百度网盘南京市建设局网站
  • 让别人做网站多久开始注册域名公司注册地址提供
  • 手机网站 设计趋势建设银行暑期招聘网站
  • 兰山做网站专业深圳网站定制开发
  • 做与食品安全有关的网站徐州企业网站设计
  • 番禺网站建设策划江阴市建设局官网站
  • 建设网站模块需要哪些内容石家庄城乡建设厅网站
  • 公司网站后台管理网络公司名字大全三字
  • 广西住房建设厅网站广州seo工作
  • 做分销商城网站的wordpress 知更鸟 网格