Django—链接MySQL
Djalgo基础配置方法 |
静态文件配置方法
1 所有的静态文件都放在 static 文件夹下,例如Bootstrap值类的第三方库,通常 static 文件下会创建 css image js 文件,用于存放与前端相关的数据文件。
2 Django setting文件配置。
# 静态文件配置
STATIC_URL = '/static/' # 接口前缀,跟你的静态文件夹名字没有任何关系,默认情况下这个前缀和静态文件夹名字一样。 STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static') # 这里的路径就是你静态文件夹的路径
os.path.join(BASE_DIR,'static2') # 通常项目中会出现多个static文件夹,有些app也会有独立的static文件夹。
前端请求会依次查找列表中所有的静态文件路径,找到则立刻停止,没有则返回
404
]
在Pytham中链接MySQL数据库的方法
1 创建数据库
2 修改配置文件
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 键必须是大写
'NAME': 'day55',
'HOST':'127.0.0.1',
'PORT':3306,
'USER':'root',
'PASSWORD':''
}
}
3 告诉Django 用pymysql替换它默认的mysqldb模块,链接数据库。
两种方式:1 在项目文件夹下的__init__.py 或 直接在你应用文件夹下面的__init__.py
# 固定写法
inport pymysql
pymysql.install_as_MySQLdb()
4 Django 中的ORM
什么是orm?
对象关系映射
类 》》》 表
对象 》》》 表记录
对象的属性 》》》 一条记录某个字段对应的值
注意:在Django中不能自动创建库,但是可以自动创建表,一个Django项目使用一个库,不要多个Django项目共用一个库。
5 数据库同步
第一次链接数据库/或后期对现有表的字段做更改操作,都必须执行数据同步命令!
同步命令:python3 manage.py makemigrations 将你的数据库变动记录到一个小本本上(并不会帮你创建表)
python3 manage.py migration 将数据库变动正式同步到数据库中
下方的session正式记录用户登陆状态的文件
使用Django ORM操作数据库数据 |
新增数据
两种方式: 第一种方式
1 user_obj=model.User.object.create(name=username,password=password)
第二种方式
2 user_obj=model.User(name=username,password=password)
user_obj.save()
查询数据
user_list = models.User.objects.all() # 获取user表所有的数据
# 只要是QuerySet就可以点query查看获取到当前QuerySet对象的内部sql语句
print(user_list.query)
查询数据的时候注意获取的对象是一个queryset对象还是以一个数据对象
user_query=models.User.objects.filter(id=edit_id).first # 使用first取出的就是一个数据对象了。
# 当filter当匹配的条件不存在的时候,返回一个空的queryset对象。
<QuerySet []> <class 'django.db.models.query.QuerySet'>
user_obj = models.User.objects.get(id=edit_id) # 用get可以直接获取到数据对象本身但是查询条件不 存在的情况下直接报错
删除数据
models.User.objects.filter(id=1).delete() # 会将queryset所有的数据对象全部删除
研究GET 与POST请求的差别
GET是请求,如果请求类型是GET,说明用户只想获取某项资源,所以我们将用户需要的资源响应给他就好。
POST是提交,如果是POST请求,说明用户需要向服务器提交数据,服务器就要准备接收用户提交的数据,此时POST模式和GET模式都可以传输用户的数据,但是区别在于,POST更安全,所以此时应该选择POST。在一些不需要考虑数据安全的情况下可以使用GET模式传输数据。例如获取用户ID时。
requeset.method 可以拿到两种请求方式,可以使用 request.POST / request.GET 的方式分别获取到请求数据的结果,数据形式是一个字典,该字典是 QueryDict 类型,可以通过对象点方法取获取到相应的value,也可以使用get()方法取值。
如果从前端提交的数据,在同一个key里包含多个值的情况(< QueryDict: {'username': ['jason',‘egon’], 'password': ['123']} >),需要使用getlist()方法才能取出全部的结果,如果是使用get()方法只能取到最后一个value。
注意POST是提交数据,在HTML中只有 form表单中的 submit 和 botton 是有提交数据效果的。
通过Django 生成图书管理系统表 |
Web框架实现的最基础的流程图
Django—链接MySQL的更多相关文章
- Django 链接MySQL及数据操作
Django 链接MySQL Django创建的项目自带的数据库是SQLite3,我们想要链接MySQL的话,需要更改settings.py中的配置 1.在MySQL中创建好数据库,Django项目不 ...
- Django链接MySQL,数据库迁移
form表单默认是以get请求提交数据的 http://127.0.0.1:8000/login/?username=admin&password=123 action 1 不写,默认向当前地 ...
- 搭建Django链接MySQL流程(python2版)
之前生成选型python3,除了用的python3的pymysql模块之外其他的都是一样的. 1.首先搭建mysql(Mariadb)数据库(单点) 安装方式分为yum安装,rpm包安 ...
- Django链接Mysql 8.0 出现错误(1045:Access denied for user 'root'@'localhost' (using password: NO) 的一种解决方法
运行环境: Django版本2.0 ; Mysql 版本 8.0.11; 错误代码: django.db.utils.OperationalError: (1045:Access denied fo ...
- Django 链接mysql
第一步:settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'testdjango ...
- Django链接mysql数据库报错1064
D:\PycharmProjects\autotest>python manage.py makemigrations django.db.utils.ProgrammingError: (10 ...
- django——django链接mysql数据库
1.创建项目 django-admin startproject django_mysql 2.创建App python manage.py startapp app1 3.Mysql数据库配置 (1 ...
- HttpResponse,render,redirect,静态文件配置,request对象方法,pycharm连接MySQL,django连接MySQL,django ORM
HttpResponse 主要用于返回字符串类型的数据 def index(request): return HttpResponse('index页面') 在页面中就会显示 index页面 rend ...
- Ubuntu中部署Django项目的配置与链接MySQL
Django的简介 MVT模式的介绍创建项目的虚拟环境 本次使用的是pip安装 一.更新 sudo apt update 二.安装pip sudo apt install python3-pip 三. ...
随机推荐
- Android:创建ZeroMQ的客户端
这里我们将给出一个subscribe模式的客户端示例程序,如下: private class ZeroMQMessageTask extends AsyncTask<String, Void, ...
- 关于Openstack的浅层次认知
Openstack浅析 英文好的应该直接跳到官方文档去看相关的介绍,以下是具体介绍的连接,包含Openstack的具体架构: http://docs.openstack.org/kilo/instal ...
- 【转】php ob_start()、ob_end_flush和ob_end_clean()多级缓冲
原文:https://my.oschina.net/CuZn/blog/68650 当php.ini配置文件中的 设置开启的时候,就相当于PHP已经打开了最顶层的 一级缓存 (等价于调用了一次 ob ...
- 启动spring boot项目
启动spring boot项目 pom.xml如下: <?xml version="1.0" encoding="UTF-8"?> <proj ...
- [Javascript] AbortController to cancel the fetch request
We are able to cancel the fetch request by using AbortController with RxJS Observable. return Observ ...
- Window下UDP(socket)接和收数据案例
配置QT的环境变量,这台电脑à属性à高级系统设置à高级à环境变量à系统变量àpathàC:\Qt\Qt5.3.0\5.3\mingw482_32\bin;C:\Qt\Qt5.3.0\Tools\ ...
- java 效率编程 的一些小知识点
1.在程序中若出现字符串连接的情况.请使用StringBuffer取代String,这样能够降低多次创建String以及垃圾回收所带来的内存消耗 2.尽量使用局部变量. 调用方法时传递的參数以及调用中 ...
- jmeter默认生成测试报告
我的jmeter安装在F:\study\apache-jmeter-3.1\apache-jmeter-3.1下,在bin目录下执行 其中E:\code\jmeterReport\Course-tes ...
- 开发DataSnapserver
在上次的文章中讨论了怎样把传统的Delphi 主从架构应用程序逐渐转换为DataSnap JSONserver.在本篇文章中让我们正式讨论怎样使用Delphi XE开发DataSnap/REST ...
- android app记录执行日志 捕获奔溃异常 ,存储日志到文件
app在执行过程中.为了后期的维护升级,记录日志是一个很好的方法. 为了读取到app执行时的日志,一般的作法是单独开一个线程,在app执行的启动线程.然后app退出时停掉线程. 然而我们更好的方法是开 ...