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

广东品牌网站建设服务机构百度不让访问危险网站怎么办

广东品牌网站建设服务机构,百度不让访问危险网站怎么办,网站seo优化课程,做网站设计学那个专业好路由层(urls.py) Django的路由层是用于将URL映射到视图函数的机制。它用于确定请求URL(HTTP请求)应该被哪个视图函数处理。 Django的路由层包括两个部分: URL模式:匹配请求URL,决定应该使用哪个视图函数来处理请求。UR…

路由层(urls.py)

Django的路由层是用于将URL映射到视图函数的机制。它用于确定请求URL(HTTP请求)应该被哪个视图函数处理。

Django的路由层包括两个部分:

  1. URL模式:匹配请求URL,决定应该使用哪个视图函数来处理请求。
  2. URL配置:将URL模式与应用程序中的视图函数关联起来,以便Django知道如何处理请求。

URL模式通常使用正则表达式来匹配请求URL。例如,下面是一个简单的URL模式:

from django.urls import path
from . import viewsurlpatterns = [path('articles/<int:year>/', views.year_archive),
]

总体来说,Django的路由层提供了一种灵活而强大的方式来处理请求URL,并将它们连接到相应的视图函数。

路由匹配

一,路由匹配按照正则匹配,一旦正则能够匹配到内容会立刻执行对应的视图函数。不会再继续匹配了

在setting.py中

urlpatterns = [
url(r'^admin/', admin.site.urls),    
url(r'test',views.test),
url(r'testadd',views.testadd)      #第一个参数是一个正则表达式是访问后端静态资源的接口前缀]

          用户在浏览器中输入url时不加最后的斜杠,django会让浏览器默认自动加上斜杠
          可以在配置文件settings.py中指定是否开启该功能
          APPEND_SLASH = True     表示开启 django会让浏览器默认自动加上斜杠

          APPEND_SLASH = False   表示不开启

 无名分组

二,路由匹配url中的正则表达式分组:分组就是给一段正则表达式加括号

无名分组

匹配的时候会将括号内正则表达式匹配到的内容当做位置参数传递给对应的视图函数

在urls.py文件中

url(r'^test/([0-9]{4})/',views.test)

在view.py 视图函数中

def index(request,args):return HttpResponse('')

 有名分组

有名分组

将括号内正则表达式起一个别名,匹配的时候,会将括号内的有别名的正则表达式匹配到的内容当做关键字参数传递给对应的视图函数

在urls.py 路由中

url(r'^test/(?P<year>\d+)/',views.test)      # 起别名的方法:?P<别名>

在view.py 视图函数中

def index(request,year):...  

这里的视图函数中的第二个参数就是分组的名字

注意:无名有名能否混合不能使用。但是同一种命名方式 可以使用多个


url(r'^test/(\d+)/(?P<year>\d+)/', views.test),              #这是错的,有名无名不能混合使用。

url(r'^test/(\d+)/(\d+)/',views.test),                                #同一种命名方式 可以使用多个
url(r'^test/(?P<xxx>\d+)/(?P<year>\d+)/',views.test)   # 同一种命名方式 可以使用多反向

 反向解析

 反向解析:通过一些方法能够得到一个结果,该结果可以访问到对应的url

反向解析的作用

<p>要反向解析 才能拿到后端views中返回的html文件中的信息<a class="btn btn-primary btn-lg" href="{% url 'detail' %}" role="button">点我</a>
</p> 

方法先给路由与视图函数对应关系起一个名字。(前端和后端可以根据这个名字,通过一些方法能够得到一个结果,该结果可以访问到对应的url)

 在urls.py路由中 

url(r'^testadd/',views.testadd,name='add')

前端解析表示:无论testadd改成什么,在前端页面html,都能拿到 r'^...../' 中的东西

后端解析表示:无论testadd改成什么,在后端视图view.py文件中,都能拿到r'^...../'中的东西

前端解析

在html文件中

 {% url 'add' %}比如:<a href=''{% url 'add' %}''>11</a>

后端解析

在views.py文件中

 from django.shortcuts import reverseurl=reverse('add')   # _url是变量,reverse('add') 表示的是r'^...../'中的东西

无名分组反向解析 

在urls.py路由中

url(r'^testadd/(\d+)/',views.testadd,name='add') 

前端解析表示:无论testadd改成什么,在前端页面html,都能拿到 r'^...../' 中的东西 

后端解析表示:无论testadd改成什么,在后端视图view.py文件中,都能拿到 r'^...../' 中的东西 

前端解析

在html中 

{% url 'add'  1 %}# 注意:这里的数字,一般都是用户的Id 既是:user_obj.id  既是:{% url  '反向解析起的名字'  user_obj.id %}      比如:<a href=''{%url  'add'  11%}''>11111</a>

后端解析 

在views.py中 

from django.shortcuts import reverse_
url=reverse('add',args=(1,))# _url是变量,reverse('add') 表示的是 r'^...../' 中的东西,args=(1,) 接收的是数字,通常是数据的主键值,传给了(\d+)

                                                       

有名分组反向解析 

在urls.py中

url(r'^testadd/(?P<year>\d+)/',views.testadd,name='add')

前端解析表示:无论testadd改成什么,在前端页面html,都能拿到 r'^...../' 中的东西

后端解析表示:无论testadd改成什么,在后端视图view.py文件中,都能拿到 r'^...../' 中的东西

前端解析

在html中

 {% url 'add'  1 %}                                               {% url  '反向解析的名字'  user_obj.id %} 注意:(推荐用)这里的数字,一般都是用户的Id 既是:user_obj.id      比如:<a href=''{% url  'add'  11 %}''>11</a>或者:{% url 'add' year= 1 %}   # 标准的写法

后端解析

在views.py中

from django.shortcuts import reverseurl=reverse('add',args=(1,)) # _url是变量,reverse('add') 表示的是r'^...../'中的东西。args=(12,) 接收的是数字(通常是数据的主键值),传给了(\d+)_url=reverse('add',args=(edit_id,))# 注意:(推荐用)这里的数字,一般都是用户的Id 或者:    _url= reverse('add',kwargs={'year':12}) # 标准的写法

路由分发 

        当django项目比较庞大的时候 路由与视图函数对应关系较多,总路由代码太多冗长。考虑到总路由代码不好维护,所以django支持每个app(应用)都可以有自己的urls.py

总路urls不再做路由与视图函数的对应关系 而仅仅只做一个分发任务的操作:

        根据请求的不同识别出当前请求需要访问的功能属于哪个app,然后自动下发到对应app里面的urls.py中 ,然后由app里面的urls.py做路由与视图函数的匹配

注意:

        不仅如此每个app除了可以有自己的urls.py之外 还可以有自己的static文件夹templates模板文件


应用场景:

        基于上面的特点,基于django分小组开发,会变得额外的简单。每个人只需要开发自己的app即可之后只需要创建一个空的django项目,再将多个人的app全部拷贝项目下,去配置文件注册,由总路由分发一次即可。

使用方法:需要导入一个分发的模块 :from django.conf.urls import include

总路由 

在urls.py文件中方法一、
from django.conf.urls import url,includefrom app01 import urls as app01_urls
from app02 import urls as app02_urlsurlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^app01/',include(app01_urls)),
url(r'^app02/',include(app02_urls))
]方法二、简写from django.conf.urls import url,includeurlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^app01/',include('app01.urls')),
url(r'^app02/',include('app02.urls'))
]

子路由 

from django.conf.urls import url
from app01 import viewsurlpatterns = [url(r'^index/',views.index)]from django.conf.urls import url
from app02 import viewsurlpatterns = [url(r'^index/',views.index)]

虚拟环境 

虚拟环境就类似于一个纯净的python解释器环境就类似于你重新下载一个python解释器

我们想做到针对不同的项目 只安装项目所需要的功能模块,项目用不到的一概不装,来避免加载资源时的消耗

 如何创建虚拟环境

Django版本区别 

1. 路由文件
django1.x中使用的是url:支持正则
django2.x中使用的是path(不支持正则:精准匹配)和re_path(url):支持正则
path:但是它只支持五种转换器


Django默认支持以下5个转化器:

● str,匹配除了路径分隔符(/)之外的非空字符串,这是默认的形式
● int,匹配正整数,包含0。
● slug,匹配字母、数字以及横杠、下划线组成的字符串。
● uuid,匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。
● path,匹配任何非空字符串,包含了路径分隔符(/)(不能用?)

自定义转化器
2. 创建表关系
    django2中必须指定参数:on_delete:
    djanxo1中不用指定:级联更新级联删除

伪静态的概念(了解)

伪静态: 其实就是把动态页面改成像静态页面的样子


动态页面


    它不是在html页面中写死的,它是根据后端的数据变化而变化
    我们的页面上的数据是从数据库查询出来都是可以是动态页面
    
静态页面
    html
     css
案例
    https://www.cnblogs.com/bigsai/p/17827160.html # 这个就是伪装之后的页面


伪装成静态页面的目的


    为了更好的被各大搜索引擎抓大,静态页面是最容易被抓到的,有个别的网站就会做伪装,seo
    seo:优化关键词被容易搜索到
    sem: 广告(RMB)


怎么样去伪装  

  
    url(r'^v1/v2/test.html/$', views.test)

名称空间(了解)

# 第二种方式
url(r'^app01/', include('app01.urls', namespace='app01')),
url(r'^app02/', include('app02.urls', namespace='app02')),# 解析
res=reverse('app01:login', args=(11,22)) # /v1/v2/v3/home/1
res=reverse('app02:login', args=(11,22)) # /v1/v2/v3/home/1

END 


http://www.tj-hxxt.cn/news/59893.html

相关文章:

  • 淡蓝黑色大气企业网站模板自媒体发布软件app
  • 企业百度网站怎么做石家庄seo报价
  • 微信 app 微网站 整合网页关键词优化软件
  • 怎么做网站盈利如何进行搜索引擎优化 简答案
  • 济南网站建设报价关键词爱站网关键词挖掘工具
  • 可以用来做论文引用的网站长沙建设网站制作
  • 企业网站设计总结惠州市seo广告优化营销工具
  • 如果有域名和空间怎么做网站百度seo关键词优化排名
  • 自己做软件 做网站需要学会哪些网络销售好不好做
  • 网站开发哈尔滨网站开发公司合肥网站建设优化
  • 石家庄网站seo服务推广app赚佣金接单平台
  • 建网站数据库广州专门做网站
  • 免费 网站建设短视频seo排名加盟
  • 网站建设见站分析和准备论文网站平台都有哪些
  • 怎么建立一个网站卖东西hao123网址大全浏览器设为主页
  • 在线客服系统多少钱seo高级优化技巧
  • 下载应用软件排行榜苏州seo关键词优化价格
  • 营销型品牌网站建设最佳的搜索引擎
  • 淘宝客网站制作网上国网推广
  • 中国网站排名榜数据统计网站
  • 网站怎么做的防采集网络平台推广具体是怎么推广
  • 做网站美工收费昆明新闻头条最新消息
  • qq空间如何做微网站网店代运营靠谱吗
  • 网站做直播最新的疫情数据
  • 贵州住房和城乡建设厅官方网站杭州seo网站优化公司
  • 青海企业网站建设营销
  • 做网站推广对电脑有什么要求网络营销的特点有几个
  • 品牌设计书籍百度推广优化是什么意思
  • 金沙洲网站建设工作室网站关键词如何优化
  • 有多少收费网站网络广告设计