博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django1-配置MySQL数据库
阅读量:6955 次
发布时间:2019-06-27

本文共 2280 字,大约阅读时间需要 7 分钟。

大家好,我是言淦,我今天带来的文章是《Django1-配置MySQL数据库》,希望能给你们带来帮助!

环境: Django 2.2.1 + Python 3.6.7

Dj支持PostgreSQL, MySQL, Oracle 和 SQLite 等数据库,现在以MySQL来配置举例。

1.安装数据库驱动

文档说到, Dj要想与其他数据库连接,一是要安装数据库API驱动,二是要有一个适配器,让ORM框架和数据库API驱动两者互相转化。

数据库API驱动提到的有两种,一是 mysqlclient(1.3.13及以上),这是推荐的方式,因为Dj已经自带了mysqlclient的适配器; 二是MySQL Connector/Python, 这种方式需要使用自己的适配器。

pip install mysqlclient==1.3.14复制代码

2.在settings.py设置变量

DEFAULT_USER = 'root'DEFAULT_HOST = '127.0.0.1'DEFAULT_PORT = '3306'DEFAULT_PSW = 'root'DATABASES = {    'default': {         # Dj自带的适配器        'ENGINE': 'django.db.backends.mysql',        'NAME': 'test',  # 数据库名        'USER': DEFAULT_USER,        'PASSWORD': DEFAULT_PSW,        'HOST': DEFAULT_HOST,        'PORT': DEFAULT_PORT,    }}复制代码

3.创建一个应用

$ python manage.py startapp sqltest

4.创建表

mysql> describe stu_grade;+---------+---------+------+-----+---------+-------+| Field   | Type    | Null | Key | Default | Extra |+---------+---------+------+-----+---------+-------+| stu_id  | int(11) | NO   | PRI | NULL    |       || chinese | int(11) | YES  |     | NULL    |       || math    | int(11) | YES  |     | NULL    |       || en      | int(11) | YES  |     | NULL    |       |+---------+---------+------+-----+---------+-------+4 rows in set (0.00 sec)复制代码

5.编写Model

from django.db import modelsclass StuGrade(models.Model):    stu_id = models.IntegerField(primary_key=True)    chinese = models.IntegerField()    math = models.IntegerField()    en = models.IntegerField()    class Meta:        db_table = 'stu_grade'复制代码

6.编写视图函数(sqltest/views.py)

import jsonfrom django.http import HttpResponsefrom sqltest.models import StuGradedef sql_test_index(request):    data = StuGrade.objects.all()    resp = {}    for d in data:        resp.update({
'stu_id': d.stu_id, 'chinese': d.chinese, 'math': d.math}) return HttpResponse(json.dumps(resp))复制代码

7.配置URL

from django.conf.urls import urlfrom sqltest import viewsurlpatterns = [    url(r'^sqltest/', views.sql_test_index)]复制代码

8.再次配置settings

INSTALLED_APPS = [    'django.contrib.admin',    ...    # 你自己的应用    'sqltest.apps.SqltestConfig']复制代码

9.启动

$ python manage.py runserver

注: 如果打算使用Dj的manage.py migrate 命令为您的模型自动创建数据库表(在首次安装Django并创建项目之后),您需要确保Django有权在您正在使用的数据库中创建和更改表。

参考

转载于:https://juejin.im/post/5cf1ff5751882504d340aabd

你可能感兴趣的文章
UVA - 10574 Counting Rectangles
查看>>
HDU3336-Count the string(KMP)
查看>>
常用API接口签名验证参考
查看>>
Linux中find常见用法示例
查看>>
bootstrap 模态框动态加载数据
查看>>
初始化构造函数中定义的实体集合,方便嵌套类型的遍历
查看>>
深入理解css3中nth-child和 nth-of-type的区别
查看>>
MySQL慢查询Explain Plan分析
查看>>
MyBatis原理分析之三:初始化(配置文件读取和解析)
查看>>
180321
查看>>
Spark2.1.0之源码分析——事件总线
查看>>
Htmlparser专题
查看>>
大数据开发实战:数据平台大图和离线数据平台整体架构
查看>>
Spring MVC 3 深入总结
查看>>
Android自定义控件View(一)
查看>>
C/C++中的getline函数总结:
查看>>
【转】雪崩光电二极管(APD)偏置电源及其电流监测
查看>>
关于CAShapeLayer的一些实用案例和技巧
查看>>
Android中Service 使用详解(LocalService + RemoteService)
查看>>
使用scrapy抓取Youtube播放列表信息
查看>>