查看 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
来源: http://www.bubuko.com/infodetail-1972177.html