mysql与django交互_django与mysql交互

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-23 06:34   34   0

查看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模块中添加如下建表语句:from django.db import models

# Create your models here.

class publisher(models.Model):

name=models.CharField(max_length=30)

address=models.CharField(max_length=50)

city=models.CharField(max_length=60)

state_province=models.CharField(max_length=30)

county=models.CharField(default="CN",max_length=50)

website=models.URLField()

class author(models.Model):

first_name=models.CharField(max_length=30)

last_name=models.CharField(max_length=40)

email=models.EmailField(blank=True)

class book(models.Model):

title=models.CharField(max_length=100)

authors=models.ManyToManyField(author)

publisher=models.ForeignKey(publisher)

publication_date=models.DateField()

django会把上面这些自动改成sql语句。

python manage.py validate #测试上面的语句是否有问题。

python manage.py sqlall app #把上面的内容生成sql语句。运行上面这条命令出现的错误:

CommandError: App ‘app‘ has migrations. Only the sqlmigrate and sqlflush commands can be used when an app has migrations.

解决:

删除app中migrations文件夹。

python manage.py syncdb #把这些语句写入数据库中。

#选yes建立数据库后台管理的账号和密码。

#如果这步跳过了,则执行: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 daxue")

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.pyfrom 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

django与mysql交互

标签:用户名 数据库 ubuntu setting default

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://xiaodongge.blog.51cto.com/11636589/1903793

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP