cmd 进入到项目目录下(例如:mysite),manage.py的同级目录,执行
python manage.py startapp books
这个命令并没有输出什么,它只在 mysite 的目录里创建了一个 books 目录,目录下自动创建了一些py文件
不同点: 1.10.1 比 1.1.0 要多几个py文件和一个目录
2.创建模型,编写models.py
models.py 位于刚刚生成的app books 下面,这个是用来生成数据库的。
如下:包含三张表。出版社(publisher),书(book),作者(Author)
from django.db import models 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()
3.模型安装
完成这些代码之后,现在让我们来在数据库中创建这些表
再次编辑 settings.py 文件, 找到 INSTALLED_APPS 设置。 INSTALLED_APPS 告诉 Django 项目哪些 app 处于激活状态
设置后,内容如下(在 INSTA LLED_APPS最后一行添加 'books' ):
INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'books', )不同点: 1.10.1 最后一行为 books, 如果是1.1.0 最后一行是 mysite.books
现在我们可以创建数据库表了。 首先,用下面的命令验证模型的有效性:
python manage.py check
check 命令检查你的模型的语法和逻辑是否正确
不同点: 1.10.1 是 check ,1.1.0 命令是 validate , 还有就是1.10.1 不要注释掉其他行,1.1.0可以注释掉其他行。
检查成功后,执行命令来创建数据库:
1.9.5以后版本 第一步 python manage.py makemigrations books 第二步 python mange.py sqlmigrate books 0001 第三步 python manage.py migrate
说明:
python manage.py makemigrations 用来检测数据库变更和生成数据库迁移文件
python manage.py sqlmigrate demo 0001 用来把数据库迁移文件转换成数据库语言
python manage.py migrate 用于执行迁移动作
1.1.0版本 python manage.py sqlall books python manage.py syncdb
5、站点管理--创建超级用户
(旧)1.1.0:运行 python manage.py syncdb
(新)1.10.1 运行 python manage.py makemigrations python manager.py createsuperuser
6、站点管理--运行管理工具
启动服务器(如前: python manage.py runserver ),然后在浏览器中访问:http://127.0.0.1:8000/admin/
7、将你的Models加入到Admin管理中
(旧)1.1.0 需要自己新建admin.py
( 新 )1.10.1 已经新建好admin.py
修改后为:
点击(此处)折叠或打开
- from django.contrib import admin
-
- # Register your models here.
-
- from books.models import Publisher, Author, Book
-
- admin.site.register(Publisher)
- admin.site.register(Author)
- admin.site.register(Book)