一、静态文件

(一)配置html文件

  1. 默认情况下,所有的html文件都放在templates文件夹下

  2. 配置文件夹路径'DIRS': [os.path.join(BASE_DIR, 'templates')]

    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [os.path.join(BASE_DIR, 'templates')],
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
                    'django.template.context_processors.debug',
                    'django.template.context_processors.request',
                    'django.contrib.auth.context_processors.auth',
                    'django.contrib.messages.context_processors.messages',
                ],
            },
        },
    ]

(二)什么是静态文件

  1. 网站所使用的到的提前写好的css、js、第三方的前端模块、图片等修饰html文件的都叫做静态资源

  2. 默认情况下网站所用到的静态文件资源全部会放在static文件夹下

    通常情况下static文件夹内部还会再建其他文件夹:

    1. css文件夹
    2. js文件夹
    3. font文件夹
    4. img文件夹
    5. Bootstrap
    6. fontawesome

(三)静态文件配置

django中需要手动创建静态文件存放的文件夹

STATIC_URL = '/static/'  # 访问静态资源接口前缀,通常情况下接口前缀的名字也叫static
# 手动配置静态文件访问资源
STATICFILES_DIRS = [  # 静态资源所在的文件夹路径
    os.path.join(BASE_DIR,'static') # 将static文件下的资源暴露给用户
]

(四)静态文件动态绑定

{% load static %}
<link rel="stylesheet" href="{% static 'bootstrap-3.3.7-dist/css/bootstrap.css'%}">
<script src="{% static 'bootstrap-3.3.7-dist/js/bootstrap.js' %}"></script>

(五)form表单POST请求配置

  1. get请求可以携带参数

    http://127.0.0.1:8000/login/?username=wick&password=123

    特点:url?xxx=xxx&yyy=yyy

    1. 携带的数据不安全
    2. 携带的数据大小有限制,最大好像在4kb左右
    3. 通常携带不安全的数据
  2. action

    1. 不写,默认向当前地址提交
    2. 只写后缀,/index
    3. 写全路径
  3. 提交post请求返回403

    需要配置文件中注释一行

    # 中间件
    MIDDLEWARE = [
        'django.middleware.security.SecurityMiddleware',
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.common.CommonMiddleware',
        # 'django.middleware.csrf.CsrfViewMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',
        'django.middleware.clickjacking.XFrameOptionsMiddleware',
    ]
  4. django后端的视图函数默认处理get请求,无论是get还是post请求,都会执行视图函数

二、request方法初识

(一)request.method

获取请求方式,纯大写的字符串

(二)request.POST

  1. 获取用户提交的post请求数据

  2. 获取数据
    1. request.POST.get():默认获取最后一个元素
    2. request.POST.getlist():

(三)request.GET

  1. 获取用户提交的get请求携带的参数

  2. 获取数据
    1. request.GET.get():默认获取最后一个元素
    2. request.GET.getlist():

三、django连接MySQL

(一)配置数据库

settings.py文件中设置DATABASES参数:

DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',  # 指定数据库类型
            'NAME': 'day49',  # 指定库的名字
            'USER':'root',  # 注意 键必须是全大写
            'PASSWORD':'123qwe',
            'HOST':'127.0.0.1',
            'PORT':3306,
            'CHARSET':'utf8'
        }
    }

(二)配置连接模块

django默认使用mysqldb模块连接,需要手动配置文件使用pymysql模块

  1. 项目名下的init文件
  2. 文件名下的init文件
# 上面的init文件中设置(无论哪一个都行,只要设置一个就可以了)
import  pymysql
pymysql.install_as_MySQLdb()

四、django ORM简介

(一)ORM

对象关系映射

  1. 类映射表
  2. 对象映射数据
  3. 对象.属性映射字段对应的值

(二)优缺点

  1. 优点

    让不会数据库操作的人也能够简单的去从操作数据

  2. 缺点

    封装程度太高,有时候会出现查询速率偏低的问题

所以工作中,简单的用orm,复杂的,追求速度的则手动书写sql语句

(三)配置orm

  1. 书写模型类

    应用下model.py中书写模型类

  2. 一个django项目对应一个数据库

(四)数据库迁移(同步)命令

只要models中和数据库相关的代码修改了,就要重新执行下面命令

  1. python3 manage.py makemigrations

    记录数据库的修改

  2. python3 manage.py migrate

    将修改操作同步到数据库

五、模型表字段的增删改查

(一)字段的修改

直接修改models中的模型类代码,再执行两条迁移命令

# 方式1 设置默认值
email = models.EmailField(default='123.qq.com')
# 方式2 允许字段为空
phone = models.BigIntegerField(null=True)
# 直接在提示中给默认值
gender =models.CharField(max_length=32)

(二)字段的删除

直接注释或删除对应的字段,然后再执行迁移命令(谨慎使用)

六、模型表数据的增删改查

(一)增

create方法会有一个返回值,返回值就是当前被创建的对象本身

user_obj = mpdels.User.objects.create(username=username,password=password)
print(user_obj,user_obj.username,user_obj.password)

(二)删

  1. delete:会将filter查询出来的列表中所有的对象全部删除
  2. 一般情况下不会使用,会使用标记删除
models.User.objects.filter(id=delete_id).delete()

(三)改

update:会将filter查询出来的列表中的所有对象全部更新,

models.User.objects.filter(id=edit_id).update(username=username)

models.User.objects.filter(id=edit_id).first().update(username=username)  # 报错

(四)查

  1. filter括号内可以放多个关键字参数,关键字参数之间是and关系,返回的是一个“列表”
  2. all:查询所有
data = models.User.objects.filter(username=username)
user_list = models.User.objects.all()
# 相当于 models.User.objects.filter()

(day50)二、文件配置、ORM的更多相关文章

  1. mysql之存储引擎和文件配置

    (查看系统服务,在运行里输入services.msc) 补充:将mysql做成系统服务:mysqld --install 取消:mysqld --romove 在服务中可以直接鼠标操作mysql服务的 ...

  2. (day53)五、模型层(ORM)、settings文件配置

    目录 一.settings配置 (一)测试文件配置 (二)查看对应sql语句 二.模型表数据的增删改查 (一)创建数据 (1)create方法 (2)利用对象的绑定方法 (二)修改数据 (1)利用qu ...

  3. Django---静态文件配置,post提交表单的csrf问题(日后细说),创建app子项目和分析其目录,ORM对象关系映射简介,Django操作orm(重点)

    Django---静态文件配置,post提交表单的csrf问题(日后细说),创建app子项目和分析其目录,ORM对象关系映射简介,Django操作orm(重点) 一丶Django的静态文件配置 #we ...

  4. [Django框架 - 静态文件配置、request对象方法初识、 pycharm链接数据库、ORM实操增删改查、django请求生命周期]

    [Django框架 - 静态文件配置.request对象方法初识. pycharm链接数据库.ORM实操增删改查.django请求生命周期] 我们将html文件默认都放在templates文件夹下 将 ...

  5. Django基础二静态文件和ORM

    Django基础二静态文件和ORM 目录 Django基础二静态文件和ORM 1. 静态文件 1.1 静态文件基本配置: 1.2 静态文件进阶配置 2. request参数 3. Django配置数据 ...

  6. HttpResponse,render,redirect,静态文件配置,request对象方法,pycharm连接MySQL,django连接MySQL,django ORM

    HttpResponse 主要用于返回字符串类型的数据 def index(request): return HttpResponse('index页面') 在页面中就会显示 index页面 rend ...

  7. 基于python的接口测试框架设计(二)配置一些参数及文件

    基于python的接口测试框架设计(二)配置一些参数及文件 我这里需要基于我的项目配置的主要是登陆参数.以及baseURL ,把这些放在单独的文件里  毕竟导入的时候方便了一些 首先是url 图略 建 ...

  8. Django框架(二)-- 基本配置:app注册、模板配置、静态文件配置、数据库连接配置post和get

    一.app 在Django中,APP可以用以下类比 大学 --------------------项目 计算机学院------------app01 土木学院 ------------ app02 1 ...

  9. Django框架(二)—— 基本配置:app注册、模板配置、静态文件配置、数据库连接配置post和get

    目录 app注册.模板配置.静态文件配置.数据库连接配置post和get 一.app 二.模板配置 三.静态文件配置 四.数据库连接配置 五.get请求和post请求 六.新手三件套 七.登录功能案例 ...

随机推荐

  1. 201871010116-祁英红《面向对象程序设计(java)》第七周学习总结

    项目 内容 <面向对象程序设计(java)> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/ ...

  2. day94_11_26爬虫find与findall

    一.使用json 正常的,如果需要将response结果序列化,需要将结果json.loads res1=json.loads(response.text) 但是这样会很麻烦,request提供了js ...

  3. 抓包工具之fiddler实战3-接口测试

    Fiddler实现接口测试 Fiddler提供了进行接口测试的功能,找到composer界面,选择接口方法,填写接口URL地址,发送请求. 例子:全国天气预报的接口 http://v.juhe.cn/ ...

  4. IT兄弟连 HTML5教程 了解HTML5的主流应用2

    3  与用户交互的特效 十多年前做一个页面,只要结构清晰并且内容呈现完整,就是一个非常不错的网站了.而现在的用户对视觉的体验要求越来越高,在用户的潜意识中,页面做的越炫则代表公司实力越强.不管是整体页 ...

  5. 基于Node 的http转发demo,项目中请使用express+http-proxy-middleware

    var http = require("http"); var data = ''; function getData() { const options = { host: 'w ...

  6. centos7下mysql5.7的安装与配置

    centos7下MySQL5.7的安装与配置 下载 下载地址 根据系统和版本选择红框中的四个RPM包下载即可,然后放到centos7系统中的/opt目录下,等待稍后安装. 安装前的准备 1. 检查系统 ...

  7. 计算机组成原理——中央处理器(CPU)考研题

    (一)   CPU的功能和基本结构 (二)   指令执行过程 (三)   数据通路的功能和基本结构 (四)   控制器的功能和工作原理 1.     硬布线控制器2.     微程序控制器微程序.微指 ...

  8. 数据库——SQL-SERVER练习(3)数据更新 视图

    (1).  将一个新学生记录(学号:95020:姓名:陈冬:性别:男:所在系:IS:年龄:18岁)插入到Student表中.(注意, 学号是主码不允许重复,一个学号只能插入一次,学号是5位数,不要用书 ...

  9. python基础(18):初识模块、re模块

    1. 认识模块 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1.使用python编写的代码(. ...

  10. 跳转常规 -- 为什么不要使用404、500等http状态码作为业务代码响应

    不要使用HTTP状态码作为业务代码响应 HTTP状态码 是指浏览器访问网址,成功或异常时浏览器或服务器告知用户的代码数字,它指的是网络或服务器的状态,有着不同的含义. 参加MDN.Java Api,常 ...