首页 > 其他分享 >django相关配置和操作

django相关配置和操作

时间:2022-12-09 21:33:10浏览次数:30  
标签:文件 models middleware 配置 request django 操作 数据

静态文件

1.静态文件
    不经常修改的文件,主要是针对html文件所使用到的各种资源
        css文件  js文件  img文件  第三方框架文件
        
    django针对静态文件资源一般需要单独开一个目录存放
        static目录
        该目录下如果各类型的文件都多,那么我们还可以继续创建目录,就以文件类型作为目录名称
        
2.资源访问
    我们在地址栏中之所以可以输入路由获取对应的资源是因为我们程序员提前开设了资源接口
3.静态资源访问
    默认情况下无法访问,因为我们没有提前开设静态文件资源的访问接口

静态文件相关配置

在配置文件中加上这个
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')
]

1.接口前缀
STATIC_URL = '/static/'  # 访问静态文件资源的接口前缀
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')  
    # 存储静态文件资源的目录名称,如果有多个静态文件资源目录直接在下面添加就行了
]
# 访问静态文件资源会先验证接口前缀,接口前缀正确后,会拿着后面的路径依次去列表中自上而下查找

2.接口前缀动态匹配
{% load static %}  # django提供的语法
<link rel="stylesheet" href="{% static 'bootstrap-3.4.1-dist/css/bootstrap.min.css' %}">
<script src="{% static 'bootstrap-3.4.1-dist/js/bootstrap.min.js' %}"></script>
# 这样写完以后无论用户请求什么样的路由,它都可以动态的转为我们配置文件中填写的接口前缀

form表单

1.action  # 控制数据提交的地址
    1.action=""  # 数据默认提交给当前页面所在的地址
    2.action="https://www.baidu.com/"  # 填写完整地址指定提交
    3.action="/index/"  # 向当前服务端的index地址提交
    
2.method  # 控制数据提交的方法
    默认是get  # 向服务器要数据,也可以携带一些额外的要求
        额外携带数据的方式: URL?aaa=bbb&ccc=ddd
        问号后面携带的数据有大小限制(2KB),而且不能携带敏感数据
    可以改为post  # 向服务提交数据
        携带额外数据的方式:请求体
        请求体携带数据安全性较高而且没有大小限制
        
目前我们发送post请求需要注释掉配置文件中的某一行
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',
]

request对象

1.获取请求方式
    request.method  # 获取请求方式,结果是纯大写的的字符串数据
    	GET/POST
2.获取请求方式中携带的数据
    request.POST  # 获取post请求的请求体中携带的数据,值为一个列表
        request.POST.get()  # 获取值列表中最后一个数据
        request.POST.getlist()  # 获取整个值列表数据
    request.GET  # 获取网址问号后面携带的数据,值也是一个列表
        request.GET.get()  # 获取值列表中最后一个数据
        request.GET.getlist()  # 获取整个值列表数据
    
'''
在视图函数中针对不同的请求的代码编写套路
    if request.method == 'POST':
        return HttpResponse()
    return HttpResponse()
'''

pycharm连接数据库

pycharm中连接数据库在界面左侧的Database中点击加号,选择Data Source(鼠标不要点击,悬浮即可),在右侧弹出的界面中选择MYSQL然后连接即可
注意:pycharm初次连接数据库需要下载对应的驱动

django连接数据库

django会自带一个小型数据库sqlite3,它的功能较少,主要用于本地测试,实际项目中都会替换掉它

sqlite3默认配置
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

1.修改配置文件
DATABASES = {
    'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'day51',
            'HOST': '127.0.0.1',
            'PORT': 3306,
            'USER': 'root',
            'PASSWORD': '123',
            'CHARSET': 'utf8'
        }
}
2.需要指定模块
    django1.X版本需要在项目目录下或者app目录下的__init__.py中编写代码
        import pymysql
        pumysql.install_as_MYSQLdb()
    django2.X版本及以上都可以直接通过下载mysqlclient模块解决

ORM

简介

ORM:对象关系映射
    能够让不会SQL语句的python程序员使用python面向对象的语法来操作数据库

映射关系
类           ==> 表
对象         ==> 一条条的数据
对象点名字    ==> 获取字段对应的值

# ORM由于高度封装了SQL,所以有时候效率较低,我们需要自己写SQL

基本操作

1.在models.py中编写模型类
    class GirlsInfo(models.Model):
        id = models.AutoField(primary_key=True)  # id int primary key auto_increment
        name = models.CharField(max_length=32)  # name varchar(32)
        age = models.IntegerField()  # age int
        
2.执行数据库迁移相关命令
    python38 manage.py makemigrations  # 讲操作记录到小本本上(migrations目录下的一个文件)
    python38 manage.py migrate  # 讲操作同步到数据库上
    
    # 每次在models.py中修改了与数据库相关的代码,都需要再次执行上述命令

基本语句

from app01 import models
models.类名.objects.create()  # 创建数据
models.类名.objects.filter()  
# 查询数据,结果为一个列表,里面是一个数据对象,需要通过点的方式获取数据
models.类名.objects.update()  # 修改数据,可以和filter搭配使用,单独使用表示修改该字段的全部
models.类名.objects.delete()  # 删除数据,需要和filter搭配使用,无法单独使用

标签:文件,models,middleware,配置,request,django,操作,数据
From: https://www.cnblogs.com/zyg111/p/16970052.html

相关文章

  • django框架之静态文件配置与ORM基本操作
    静态文件配置1.编写一个用户登录页面2.静态文件 不怎么经常变化的文件,主要针对html文件所使用到的各种资源css文件、js文件、img文件、第三方框架文件django......
  • Echarts-常见配置
    series:系列列表。每个系列通过type决定自己的图标类型xAxis:直角坐标系grid中的x轴yAxis:直角坐标系grid中的y轴grid:直角坐标系内回执网格这个网格距离topbottom......
  • Git安装及环境配置
    软件下载打开Git官网https://git-scm.com/,下载git对应操作系统版本官网下载太慢,我们可以使用淘宝镜像下载:http://npm.taobao.org/mirrors/git-for-windows/ ......
  • 《动手学ROS2》9.3为FishBot配置两轮差速控制插件
    《动手学ROS2》9.3为FishBot配置两轮差速控制插件本系列教程作者:小鱼公众号:鱼香ROSQQ交流群:139707339教学视频地址:小鱼的B站​完整文档地址:鱼香ROS官网版权声明:如非允......
  • ASP.NET2.0中Gridview中数据操作技巧
    Asp.net2.0中新增的gridview控件,是十分强大的数据展示控件,在前面的系列文章里,分别展示了其中很多的基本用法和技巧(详见<<​​ASP.NET2.0中Gridview控件高级技巧​​>>、<<​......
  • Django框架2
    今日内容概要静态文件配置request对象方法pycharm连接MySQLdjango连接MySQLdjango模型层初识基本ORM操作今日内容详细静态文件配置1.编写一个用户登录界面2.静......
  • django 02 数据库相关操作
    静态文件配置#1.静态文件不经常变化的文件,主要是html文件所使用的资源css、js、img、第三方框架文件django针对静态文件资源需要单独开放......
  • Fcitx5-rime输入法/引擎安装配置
    #卸载fcitx4相关程序sudopacman-Rs$(pacman-Qsqfcitx)#安装fcitx5框架、配置工具、输入法模块sudopacman-Sfcitx5-im#安装输入法引擎,目前可选fcitx5-chinese-ad......
  • Jmeter(一):jmeter概述与工作原理,安装与基本配置介绍
     Jmeter(1):jmeter概述与工作原理jmeter概述与工作原理JMeter是Apache基金会Jakarta上的一个纯Java开源项目,起初用于基于Web的压力测试(pressuretest),后来其应......
  • 数据库的简单操作
    数据库常识1.登录数据库:mysql-h127.0.0.1-P3306-uroot-p简写为mysql-uroot-p说明:-h后面是主机名(ip)-P后面是端口号-u后面是登录的用户名-p后面是登录密......