Djingo之路由层

Posted ledgua

tags:

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

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之路由层的主要内容,如果未能解决你的问题,请参考以下文章

djingo之登陆验证,cookie,session

Django视图层之路由配置系统(urls)

python在pychram中利用djingo开发helloword

疯狂一晚上搭建Djingo项目 眼疼

Django之路由层与视图层

Django之路由(urls)层