查看ubuntu已安装的所有软件:

dpkg -l
dpkg -l | grep mysql

查看软件安装的路径

dpkg -L | grep mysql

查看开机启动的软件,需要额外安装插件:

sudo apt-get install rcconf
rcconf更能全一点的:
sudo apt-get install sysv-rc-conf
sysv-rc-conf

安装mysql:

# apt-get install python-setuptools libmysqld-dev libmysqlclient-dev
# easy_install mysql-python
或者 #pip install mysql-python

django setting配置:

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql', 'NAME': 'books',  #你的数据库名称'USER': 'root',  #你的数据库用户名'PASSWORD': '',   #你的数据库密码'HOST': '',       #你的数据库主机,留空默认为localhost'PORT': '3306',   #你的数据库端口}
}

在model模块中添加如下建表语句:

vi app/models.py

class test1(models.Model):    name = models.CharField(max_length=20)   #定义的字段name为字段名

model模块在app中,其中定义的类名就是表名(但是在数据库中的表名会以app为前缀,例如项目为app则实际创建的表名为app_test1),CharField相当于varchar,DateField相当于datetime,max_length 相当于参数限定长度“varchar(20)”

python manage.py makemigrations    #查看表有哪些更改
python manage.py migrate app     #创建表结构

注意:这里如果之前已经同步过一次数据,现在又要添加字段,会报错,解决办法是在字段后面添加

null=True

例如:

ages=models.CharField(max_length=10,null=True)

为表添加数据:django需要查询或者更新表时,需先导入表名才能获取表内的数据。

from app.models import test1
def huoqu(request):    a = test1(name='wangjiadongge')     #test1为表名,name为字段名。a.save()return HttpResponse("数据添加成功!")

数据操作:

#获取数据
def huoqu(request):  #通过objects这个模型管理器的all()获得所有数据行,相当于SQL中的SELECT * FROMlist = test1.objects.all()    #filter相当于SQL中的WHERE,可设置条件过滤结果list1 = test1.objects.filter(id=1) #获取单个对象list2 = test.objects.get(id=1) #限制返回的数据 相当于 SQL 中的 OFFSET 0 LIMIT 2;test1.objects.order_by('name')[0:2]#数据排序test1.objects.order_by("id")#上面的方法可以连锁使用test1.objects.filter(name="runoob").order_by("id")#输出所有数据for var in list:        response1 += var.name + " "response = response1return HttpResponse("<p>" + response + "</p>")
#更新数据
# -*- coding: utf-8 -*-from django.http import HttpResponsefrom app.models import test1def testdb(request):    #修改其中一个id=1的name字段,再save,相当于SQL中的UPDATEtest = test1.objects.get(id=1)test.name = 'Google'test.save()#另外一种方式#test1.objects.filter(id=1).update(name='Google')# 修改所有的列# test1.objects.all().update(name='Google')return HttpResponse("<p>修改成功</p>")
#删除数据
# -*- coding: utf-8 -*-from django.http import HttpResponsefrom app.models import Test# 数据库操作def testdb(request):    # 删除id=1的数据test1 = Test.objects.get(id=1)test1.delete()#另外一种方式#test1.objects.filter(id=1).delete()#删除所有数据#test1.objects.all().delete()return HttpResponse("<p>删除成功</p>")

#django在前端中展示从数据库中获取到的数据:


html:

{% for a in names %}id={{ a.id }}:name={{ a.name }}:sex={{ a.sex }}
{% endfor %}

注意:这里展示的数据必须是单条数据,若是展示整个数据库的内容必须是逐条,整个取的话会导致出现QuerySet [<test2: test2 object>这种数据。

django:

def testdb(request):#list = test2.objects.all()names = test2.objects.filter(id=1)print names#return HttpResponse('this is test select mysql!')return render_to_response('a.html',locals())  #locals()是获取整个本地变量

-------------------分割线--------------------


#django经典例子:

from django.db import models        #导入models模块#表名:
class publisher(models.Model):        #定义表名为publishname=models.CharField(max_length=30)     #表字段nameaddress=models.CharField(max_length=50)  #表字段addresscity=models.CharField(max_length=60)     #表字段citystate_province=models.CharField(max_length=30)   county=models.CharField(default="CN",max_length=50)website=models.URLField()          #表字段website,字段类型为地址表名:
class author(models.Model):first_name=models.CharField(max_length=30)last_name=models.CharField(max_length=40)email=models.EmailField(blank=True)     #字段名字为email,字段类型为email#表名:
class book(models.Model):title=models.CharField(max_length=100)     #字段名为title,字段类型为vacharauthors=models.ManyToManyField(author)     #字段名为author,字段类型为ManyToManyFieldpublisher=models.ForeignKey(publisher)     #关联外部表publisherpublication_date=models.DateField()        #字段名为publication_date,类型为日期类型
python manage.py makemigrations     #查看表有哪些更改
python manage.py migrate     #同步数据库
#运行上面这条命令出现的错误:
#Apply all migrations: admin, app, auth, contenttypes, sessions
#Running migrations:
#解决:这个错误是因为已经同步过一次数据库引起的,如果表中的字段要增加,需要添加null=True
#比如:ages=models.CharField(max_length=10,null=True)
#如果是新建一个表,则要删除app中migrations文件夹(一般不需要)。

#如果需要用户和密码,则执行:

python manage.py createsuperuser   #创建用户
python manage.py changepassword    #更改密码

#练习在python交互模式下操作数据库:

./manage.py shell              #进入django变量的交互器
from app.models import publisher #导入publisher数据库。

#插入一条数据:

p1=publisher(name='qinghua university',address='wudaokou',city='beijing',state_province='beijing',county='china',website='www.qinghua.com')

p1.name    #查看插入的name

p1.address  #查看插入的address

p1.save()   #插入的数据写入数据库中

#更新一条数据:

p1.address="qinghualu"
p1.save()

#查看所有的数据

在models模块中,建表语句下面添加如下:

def __unicode__(self):return self.name,self.address

然后再去交换窗口查看所有数据:

publisher.objects.all()

#查询国家等于中国的一条数据:

publisher.objects.filter(country="china")

#查询出来的数据进行更改:

a=publisher.objects.get(name="beijing")
a.county="USA"
a.save()

#高效的更新数据方式,并且无需save:

publisher.objects.filter(id=1).update(name="qingdaodaxue")

#在浏览器中打开后台管理数据库界面:

http://192.168.110.106/admin/

账号就是同步数据库时创建的用户名和密码,登陆进去。

在app下创建一个admin.py的文件

vi admin.py

from django.contrib import admin
from app.models import publisher,author,book
admin.site.register(publisher)
admin.site.register(author)
admin.site.register(book)

完成后,重新打开页面。

#django中引用bootstrap:

在setting.py中:

MEDIA_ROOT='/root/project/statics/bootstrap/'

在url.py中:

from django.conf import settings

--------------------------------------分割线------------------------------------

转载于:https://blog.51cto.com/xiaodongge/1903793

django配置mysql数据库相关推荐

  1. Python3.7中,Django配置MySql数据库

    上一节中讲了Python3.7搭建Django框架项目 ,并且项目能够运行起来,Django框架中默认配置的数据库是sqlite,sqlite数据库虽然小巧,但是对于大型项目时sqlite就会有瓶颈, ...

  2. django mysql开发_【python-Django开发】Django 配置MySQL数据库讲解!!!

    官方文档请阅读:https://docs.djangoproject.com/en/1.11/ref/databases/#mysql-db-api-drivers 配置MySQL数据库 1. 新建M ...

  3. django框架访问mysql数据库_Django框架怎么配置mysql数据库

    Django框架怎么配置mysql数据库 发布时间:2020-08-01 10:37:54 来源:亿速云 阅读:67 作者:小猪 这篇文章主要讲解了Django框架怎么配置mysql数据库,内容清晰明 ...

  4. 【django】配置MySQL数据库【3】

    一.新建MySQL数据库 1.登录数据库 $mysql -u root -p 2.新建mgdb数据库 $create database mgdb default charset=utf8; 3.新建M ...

  5. Django怎么配置mysql数据库_Django如何配置mysql数据库

    Django项目默认使用sqlite 数据库,但是我想用mysql数据库,应该如何配置呢. Django连接mysql数据库的操作,是通过根模块的配置实现的,在项目根模块的配置文件settings.p ...

  6. 配置mysql数据库时出再错误:LookupError No installed app with label admin(亲测)

    版本: windows10+py37+django2.2 错误: 项目启动时出现,No installed app with label 'admin' 解决办法: 安装最新的 pip install ...

  7. python Django 连接mysql数据库创建表详细全过程

    python Django 连接mysql数据库创建表详细全过程 1,在数据库中新建一个要连接的数据库(在cmd命令行里登录数据库进行创建创建) mysql -u root -p**+密码** cre ...

  8. Django配置Mysql数据库连接

    Django配置Mysql数据库连接 前言 Django原生自带的数据库支持是sqlite,但是我们现在常用的数据库一般是mysql,mangodb等数据库.所以我们要改变数据库的链接,从而达到使用m ...

  9. Python Web开发框架之Django篇——二、Django连接MySQL数据库以及建表的操作

    二.Django连接MySQL数据库以及建表的操作 准备工作:安装Python访问MySQL的模块 一.修改project同名目录下面的__init__.py文件 二.修改project同名目录下面的 ...

最新文章

  1. 精心总结 Python『八宗罪』,邀你来吐槽
  2. 再见了月薪3w的大后端,低代码开发已成气候!
  3. 元气森林唐彬森:十万块就能爆发团队创造力
  4. 「CodePlus 2017 12 月赛」火锅盛宴
  5. 互联网大佬学历背景大揭秘,看看是你的老乡还是校友
  6. 【转】调用约定__cdecl、__stdcall和__fastcall的区别
  7. 阿里:千亿交易背后的0故障发布
  8. php 字符串划线,php – 在elasticsearch中将整个字符串与短划线匹配
  9. Boring Partition(CF-239D)
  10. 两轴插补速度怎么给定_快速入门 | 篇十七:运动控制器多轴插补运动指令的使用...
  11. 请求重定向与请求转发的区别
  12. 8.UNIX 环境高级编程--进程控制
  13. Sqlite加密问题
  14. java 造数据_java测试造数据神器JavaFaker
  15. 慕课《如何写好科研论文》Quiz汇总
  16. python开发部署时新增数据库中表的方法
  17. 使用Photoshop2022给图片制作出精彩的渐变效果
  18. Protege-OWL API中文版
  19. MarkDown超级教程 Obsidian版_11.4
  20. uniapp使用map地图组件

热门文章

  1. 手机利用python访问电脑文件_黑客教程,一行python命令让手机读取电脑文件!
  2. yii 使用 有赞sdk_有赞移动如何做到并行灰度的复杂场景?
  3. js if判断多个条件_EXCEL一对多条件查找显示多个结果(INDEX+SMALL+IF+ROW函数组合)...
  4. pool python 传参数_Python-爬虫-多线程、线程池模拟(urllib、requests、UserAgent、超时等)...
  5. python求平方根的代码_Python求解平方根的方法
  6. cmd c语言 文件,DSP,如何编写CMD文件!(转)
  7. mongoDB如何将数据导成csv文件?
  8. notepad去除每行空格后面的所有的内容,并且获取每行最后一个字段的内容(就是删除每行的行首空格)...
  9. Debian update apache error AH00111: Config vairable ${APACHE_RUN_DIR} is not defined
  10. 21-break、continue、return语句理解