首页 > 数据库 >进入python的世界_day49_Django的基本配置、ORM、前后端数据库的相联

进入python的世界_day49_Django的基本配置、ORM、前后端数据库的相联

时间:2022-12-11 21:25:30浏览次数:55  
标签:name objects python Django models ORM POST 数据 请求

​ 接口就是一个网址

一、静态文件

​ 不需要经常改变的文件,主要针对HTML文件所用到的资源,在django中,要提前手动创建一个文件夹,static,然后里面自己再分门别类一下

# 比如说图片,JS文件,CSS文件,第三方模块
# 如果静态文件,没有开设接口,浏览器是拿不到静态文件的

​ django针对静态文件开接口,做好了优化

二、静态文件相关配置**

​ settings.py里底部添加如下,注意必须纯大写哦,尤其是django1,下面的代码不会有提示,必须自己背

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')
]

接口前缀的动态匹配

{% %} 是django魔法语法
{% load static %}
    <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>

​ 这样改好后,以后只管去改settings里通行证的值,其他就完全不用动,会自动匹配

三、请求方法

​ URL:统一资源定位符(网址)

​ 其实我们写的form表单的属性中还有一个属性,method,负责请求的方法,默认是GET请求

1.GET请求

​ 朝服务端索要数据

  • 可以携带额外的数据

    ​ 通过 网址后面跟问好 通过双打等号形式携带数据 后端获取为 键值对

  • 上述携带数据的方式有两个限制

    ​ 数据只能是简单无关紧要的非敏感数据

    ​ 数据的大小有限制 2kb-8kb左右

    ​ GET请求没有请求体(HTTP数据格式)

2.POST请求

​ 朝服务端提交数据

  • 可以携带额外的数据

    ​ 数据都是放在请求体中 并且数据大小没有限制

  • 安全性较高

3.改完POST请求后的操作

​ 当我们直接改了method的属性为POST后,重新加载我们创的登录页面发现点击提交按钮后,页面报错403,意思是没有权限

​ 此时,需要我们去改settings.py中的一个东西

四、request对象***

1.后端拿到请求方法

request.method 获取请求方式,结果是纯大写的字符串数据

​ GET/POST

request.GET 获取Url ?携带的非敏感数据

request.POST 获取请求体里面的数据

request.POST .get() 获取列表最后一个数据值

request.POST .getlist() 获取列表

五、pycharm链接数据库

第一步:

​ 首先,我们找到Pycharm左下角的Database点进去

第二步:

​ 点击小加号,选择Mysql,点进去

第三步:

​ 注意页面左下方是否有橙色感叹号,如果有点一下下载

第四步:

​ 其他的看着填,然后要选一下库名字,这个一次只能链接一个库,都做好了点一下左下角TEST,如果打绿色勾,点OK即可

第五步:

​ 简单使用

六、Django链接数据库***

​ 去改Settings里的DATABASES

# 注意 如果改了后,可能报错
django1.11 版本需要在项目或者应用目录下的__init__.py中编写一行代码
import pymysql
pymysql.install_as_MySQLdb()

django2.2 以上版本需要使用mysqlclient模块,去pip下一下即可
# 把默认的改为这个!!!
# django默认使用的是sqlite3 但是这款数据库 一般用于本地测试 功能很少,所以要改为mysql,这个会自动提示
DATABASES = {
    'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'day51',  # 库的名字
            'HOST': '127.0.0.1',  # 剩下就是自己的mysql的信息
            'PORT': 3306,
            'USER': 'root',
            'PASSWORD': 密码,
            'CHARSET': 'utf8'
        }
}

七、ORM*******

1.介绍:

​ 对象关系映射

​ 能让不会sql语句的python程序员,使用面向对象的语法来操作数据库

极大的提高了开发效率

​ ORM由于高度封装了SQL,有时候效率低,需要自行写SQL

2.基本使用

1.先在models.py中编写模型类
class GirlsInfo(models.Model):
    # id int primary key auto_increment
    # 字段名 = 字段类型 + 约束条件
    id = models.AutoField(primary_key=True)
    # name varchar(32)
    name = models.CharField(max_length=32)
    # age int
    age = models.IntegerField()
2.执行数据库迁移相关命令
	python38 manage.py makemigrations  将操作记录到小本本上(migrations)
	python38 manage.py migrate		  将操作同步到数据库上
from app01 import models
models.类名.objects.create()
models.类名.objects.filter()
models.类名.objects.update()
models.类名.objects.delete() 
    # 1.创建数据
         models.GirlsInfo.objects.create(name=name,age=pwd)
    # 2.查询数据
         res = models.GirlsInfo.objects.filter(name=name)
         print(res)  # [数据对象,]   queryset
         print(res[0])
         print(res[0].id)
         print(res[0].name)
         print(res[0].age)
    # 3.修改数据
         models.GirlsInfo.objects.filter(id=1).update(name='jason',age=123)
    # 4.删除数据
        models.GirlsInfo.objects.filter(id=1).delete()

今日其他小知识补充:

  • 更改浏览器页面缓存服务

浏览器页面内右键检查——设置小齿轮——勾上停用缓存(开发工具打开时)

标签:name,objects,python,Django,models,ORM,POST,数据,请求
From: https://www.cnblogs.com/wznn125ml/p/16974494.html

相关文章

  • 静态文件、request对象、pycharm/django连接数据库、ORM了解
    静态文件、request对象、pycharm/django连接数据库、ORM了解目录静态文件、request对象、pycharm/django连接数据库、ORM了解静态文件配置静态文件相关配置form表单reques......
  • 静态文件相关配置、request请求方法、pycharm连接MySQL、orm
    静态文件相关配置、request请求方法、pycharm连接MySQL、orm风得意马蹄疾,一日看尽长安花一、静态文件相关配置1.编写一个登录功能1.创建一个django项目并创建一个app......
  • python字符串中返回bool类型的函数集合
    #isspaceistitleisupperislower#isspace判断字符串是否是一个由空格组成的字符串booltype=string.isspace()->无参数可传,返回一个布尔类型#由空格组成的字符串......
  • Python 替换字典里的字符串
    替换字典值,路径中的符号>>>a={"cover":"cover_images\\test.png"}>>>>>>a=eval(str(a).replace("\\\\","/"))>>>>>>print(a){'cover':'cover_images/test.pn......
  • php里ezpdo orm框架初探
      java里有hibernate,php里有啥,这一直困绕着大家.最近发现了一个还可以的php的orm框架ezpdo,网站是​​​http://www.ezpdo.net​​​,有手册......
  • python 正则表达式匹配
    在python中使用正则表达式以下几个步骤,1.用importre导入正则表达式模块2.用re.compile()函数创建一个Regex对象(记得使用原始字符串)3.向Regex对象的Search()方法传入想查找......
  • WinForm(六)组合布局属性
    WinForm是基于控件的,不像code+mark的架构,可以非常灵活的用mark来布局,它只能用控件布局属性和窗口控件来完成对UI的布局。容器控件有一组控件叫容器控件,对布局特别有作......
  • Django总结
    Django总结django简介1.版本问题django1.X:同步 1.11django2.X:同步 2.2django3.X:支持异步3.2django4.X:支持异步 4.2......
  • WinForm(六)组合布局属性
    WinForm是基于控件的,不像code+mark的架构,可以非常灵活的用mark来布局,它只能用控件布局属性和窗口控件来完成对UI的布局。容器控件有一组控件叫容器控件,对布局特别有作用......
  • Ubuntu20.04安装python3-pip后安装sqlalchemy报错AttributeError: module 'platform'
    解决方法如下:1.首先卸载已经安装python3-pipsudoaptremovepython3-pip2.安装python3.8-pipsudopython3.8-measy_installpip3.安装sqlalchemywang@wang:~$sudopip3.......