djingo之路由层(代码片段)

ledgua ledgua     2023-05-06     381

关键词:

Django必会操作之三剑客

三剑客之render

作用:返回request,和一个html页面,可以给html页面传值

三剑客之HttpResponse

作用:向网页返回一串字符串

redirect

作用:重定向

如何在浏览器中输入网址访问响应资源

  1. 用户能够在浏览器中输入网址访问到相应的资源(前提是后端暴露这个资源的接口)
  2. 在django中如果你想让用户访问到对应的资源,就需要在urls.py中设置对应关系,否则就访问不到
  3. 返回给浏览器的html页面上所有的静态资源,也需要请求后端加载获取
  4. 通常外面将所有的html文件全部放在templates文件夹下
  5. 所用到的所有静态资源全部放在static文件夹中
    • 静态资源如
      • js文件
      • css文件
      • 第三方代码 bootstrap elementui layui

配置静态文件

#在urls.py中找到静态资源访问的接口前缀
STATIC_URL='/static/' 
#之后手动对静态文件访问进行配置
 STATICFILES_DIRS = [
        os.path.join(BASE_DIR,'static'),]
#是不是以为这样就行了?哈哈哈哈你在想啥呢?当然不可能啊
#那到底要怎么样嘛
#这个时候还需要在你需要访问的HTML页面中添加静态文件路径解析
% load static %
<link rel="stylesheet" href="% static 'bootstrap/css/bootstrap.min.css' %">
<script src="% static 'bootstrap/js/bootstrap.min.js' %"> 
#于是乎,你就能在自己写的静态文件中使用这些文件了

Django配置数据库连接

在Django中有默认的一个数据库,但是由于功能不是很强大,某些方面也不是很行,对于日期格式的处理简直是不行的不能再不行了,那么这个时候我们就需要告诉他,我们不用默认数据库,需要使用MySQL数据库。

#首先在sttings文件中找到DATABASES在里面进行配置
DATABASES=
    'default':
        'ENGINE':'django.db.backends.mysql',
        'NAME':'xxxx', #告诉django我需要使用的库的名字
        'USER':'root',
        'PASSWORD':'asdfweafewf',   #你的数据库密码,当然这不是我数据库密码!哈啊哈哈哈
        'HOST':'127.0.0.1',     #数据库需要访问的ip
        'PORT':3306,
        'CHARSET':'utf8'
    

##是不是觉得这样就可以用了???启动项目试试不就知道啦?
#是不是没启动哈哈哈哈哈
#其实把,是因为Django使用的是mysqldb模块连接的,但是这个模块的兼容性不好,所以我们还需要告诉他,老子现在要用pymysql连接了
    #在你Django项目文件夹或者应用名文件夹下面找到__init__文件或者应用名下的__init__文件中都可以指定
#首先导包,对吧肯定要先导包啊,包都不导了?你以为导包侠的名号白叫的???
import pymysql
pymysql.install_as_MySQLdb()

Request对象

那么讲完上面的那些需要配置的东东了,这个时候我们就该讲讲正经的了,不要觉得自己可以下车啊,车门已经焊死了!

那么Request对象是用来干嘛的呢?当时用来嘿嘿嘿的拉

那么怎么使用呢

request.method

用于获取前端的请求方式,并且使用大写的字符串形式

那么说到这个,不得不在港港我们之前提到的老相好请求方式

请求方式之GET请求
#get请求能够携带数据,但是携带的数据会直接拼接在url后面,够安全,同时对数据大小有限制
request.GET #相当于一个大字典,里面放的是get请求携带过来的数据
request.GET.get('key')  #默认取的是列表的最后一个元素 并不是直接将列表取出
request.GET.getlist('key')  #直接将value的列表取出来
请求方式之POST请求
request.POST    #也是相当于一个大字典,但是里面放的是POST请求携带过来的数据
request.POST.get('key')  # 默认取的是列表的最后一个元素 并不是直接将列表取出
request.POST.getlist('key')  # 直接将value的列表取出

From表单

那么上面的两个请求都有啥用呢,这不,在这里就用上了。

那么先讲讲form表单的参数把,毕竟人家是HTML的是吧
<from action="" method="">
    action:  1.不写表示往默认地址提交
             2.写后缀/index表示朝着本网站的index路径提交数据
             3.写全路径 http://www.xiaohuar.com(比如校花网把,毕竟人生苦短多看看妹子,万一你们这群单身狗有女朋友了呢对吧!)
    method:  表示from提交数据的方式,一般默认是使用get方式提交
             也可以设置POST的方式提交
</from>

Djingo请求的声明周期

上面既然都讲过了常用的两种请求了,那么这里我们在讲讲请求的生命周期把

技术图片@KD]RP9C$N]@U%604)SHK.png)

djingo之登陆验证,cookie,session(代码片段)

一:会话技术:   1:什么是会话跟踪技术:    首先我们应该知道,什么是会话。当浏览器(客户端)第一次访问某个网站的时候(服务器)。该浏览器便和服务器建立了单独的会话。直到浏览器关闭或服务器断... 查看详情

django之路由层与视图层(代码片段)

Django之路由层与视图层路由层urlpatterns=[url(r'^admin/',admin.site.urls),url(r'^$',views.home),#网页首页路由url(r'^test/$',views.test),url(r'^testadd/$',views.testadd),url(r'',v 查看详情

django之路由层和视图层(代码片段)

一、路由层urlpatterns=[url(r‘^admin/‘,admin.site.urls),url(r‘^$‘,views.home),url(r‘^test/$‘,views.test),url(r‘^testadd/$‘,views.testadd),url(r‘‘,views.error)]#注意:第一个参数是正则表达式,匹配规则按照从上往下一次匹配,匹配到一个之后立即... 查看详情

django框架之视图层(views)介绍(代码片段)

...于函数的视图CBV:基于类的视图(学习重点)#使用CBV时,路由层写法urlpatterns=[#分析源码这里也可写成url(r‘^mycls/‘,views.view),这种格式与FBV路由层中一致url(r‘^mycls/‘,views.MyCls.as_view()),]‘‘‘FBV与CBV中路由层都是:路由对应视... 查看详情

django之路由层(代码片段)

Django之路由层路由是个啥路由即请求地址与视图函数的映射关系,如果把网站比喻为一本书,那路由就好比是这本书的目录,在Django中路由默认配置在urls.py中,如下图:简单的路由配置#urls.pyfromdjango.conf.urlsimporturl#由一条条映射... 查看详情

django之路由层(代码片段)

Django之路由层一路由的作用路由即请求地址与视图函数的映射关系,如果把网站比喻为一本书,那路由就好比是这本书的目录,在Django中路由默认配置在urls.py中,如下图:二简单的路由配置#urls.pyfromdjango.conf.urlsimporturl#由一条条... 查看详情

django之路由层(代码片段)

Django之路由层一路由的作用路由即请求地址与视图函数的映射关系,如果把网站比喻为一本书,那路由就好比是这本书的目录,在Django中路由默认配置在urls.py中,如下图:二简单的路由配置#urls.pyfromdjango.conf.urlsimporturl#由一条条... 查看详情

华为-vlan间路由之单臂路由(代码片段)

vlan间路由:通过在三层设备上部署vlan间路由的技术,使得不同vlan的终端可以互访。该“互访”仅仅指的是单播互访。①单臂路由(路由器)②SVI(三层交换机)常用方法①:单臂路由:注意:一般情况下,建议一个vlan使用一... 查看详情

vue框架之路由层,仓库层(代码片段)

一:路由跳转this.$router.push(‘/course‘);this.$router.push(name:course);this.$router.go(-1);this.$router.go(1);<router-linkto="/course">课程页</router-link><router-link:to="name:‘course‘">课程页</router-link><template><divclass="nav"><ul>... 查看详情

django2.0路由补充之path,re_path及视图层(代码片段)

...要用的其他数据类型,可以在函数中直接转换,也可以在路由中直接转换,如下:下面实例是匹配整数,传过去的参数就是整数fromdjango.urlsimportpath,re_pathpath(‘admin/<int:year>,view.year.archive‘)===>匹配到一个整数变量Django默认... 查看详情

[linux]linux网络之网络层协议详解(代码片段)

...何进行组装1.4问题2.公有地址与私有地址2.1NAT转换总结3.路由3.1路由过程3.2路由表  网络层使用IP协议,IP协议基于IP地址转发分包数据,IP是跨网络传送数据包得,使整个互联网都能收到数据的 查看详情

django之视图层介绍(代码片段)

1.伪静态设置:路由层:url(‘^index/$‘,views.index),url(‘^article/(?P<id>(\d+)).html/$‘,views.article,name=‘article‘)#只有在正则表达式后面添加".html"就可以成为伪静态的页面文件 2.rquest获取对象‘‘‘1.method:请求方式2.GET:get请求的... 查看详情

django基础之路由分发(代码片段)

目录Django之路由层一、路由的作用二、简单的路由配置三、分组四、路由分发Django之路由层一、路由的作用?路由其实就是请求地址与视图函数的映射关系,如果把网站比喻为一本书,那么路由就好比是这本书的目录,在Django中... 查看详情

计算机网络之路由器(代码片段)

路由器简介Network(网络层):网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能。对应的连接设备:路由器。路由器(router)是互联网的枢纽,是连接英特网中各局域网、广域网... 查看详情

网络基础之二层三层网络通讯(代码片段)

...换机配置.。前面讲的二层交换机只工作在数据链路层,路由器则工作在网络层。而功能强大的三层交换机可同时工作在数据链路层和网络层,并根据MAC地址或IP地址转发数据包。ARP相关通 查看详情

计网实验之访问控制列表(代码片段)

...概念访问控制列表(AccessControlLists,ACL)利用包过滤技术,在路由器上读取第三层或者第四层包头中的信息,如源地址、目的地址、源端口、目的端口以及上层协议等,根据预先定义的规则决定哪些数据包可以接收、那些数据需要拒... 查看详情

django之路由层(有名和无名分组反向解析路由分发名称空间)(代码片段)

目录一、路由匹配django2.X及以上path第一个参数写什么就匹配什么django1.X第一个参数是正则表达式PS:无论什么版本django都自带加斜杠后缀的功能也可以取消,这里如果在浏览器地址栏没有写完整的/index/,而是/index,这里还是可以找... 查看详情

django-mtv(代码片段)

...预览 MTV模型  Django基本命令  视图层之路由配置系统(views)  视图层之视图函数(views)  模板层(template)  模型层基础(model)   模型层进阶(model)  MTV模型Django的MTV分别代表:  查看详情