声明:本文是依据网络教程的自我总结。
1.首先修改settings.py,修改其连接数据库信息:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'liutest',
'USER': 'root',
'PASSWORD': '******',
'HOST':'127.0.0.1',
'PORT':'3306',
}
}
2.在mysql中先建立一个数据库:
create database liutest;
还可以下面语句校验模型的有效性:
python manage.py validate

3.创建app:
python manage.py startapp books
修改app文件夹下的models.py:
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)
country = models.CharField(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()
class Book(models.Model):
title = models.CharField(max_length=100)
authors = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
publication_date = models.DateField()
同时,修改settings.py,添加我的app’books‘:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'books',
)
4.执行 python manage.py syncdb:

其中,设置了一个账户,用于管理django站点中的admin。
注意:此时数据库中并没有添加数据表。use liutest show tables; 结果是empty
5. 1)如果重新执行python manage.py syncdb,则会有如下提示:

2)根据提示依次输入python manage.py makemigrations

查数据库,结果:

3)接着执行python manage.py migrate:

成功。检查数据库,已有所要添加的表:

6.设置内置的admin应用:
自动化的后台应用程序admin可以说是Django“皇冠上的明珠”。由于自动admin不是Django的必要组件,因此你先要在
settings.py文件中指定。
但是呢,这次用的 Django1.8版本中默认的已经启用了如下app。所以在settings.py中的INSTALLED_APPS和urls.py上不做应用的添加的修改。
最后,在默认的admin站点注册你的app model,可以使Django知道要在admin窗口中显示哪一个model可以供编辑:
from django.contrib import admin
# Register your models here.
from books.models import Publisher, Author, Book
class AuthorAdmin(admin.ModelAdmin):
list_display=('first_name','last_name','email')
search_fields=('first_name','last_name')
admin.site.register(Publisher)
admin.site.register(Author,AuthorAdmin)
admin.site.register(Book)
7.运行开发服务器 python manage.py runserver 8001
地址栏输入:http://127.0.0.1:8001/admin

现在可以可视化操作数据库了。