时间:2021-07-01 10:21:17 帮助过:23人阅读
查看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.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
django与mysql交互
标签:用户名 数据库 ubuntu setting default