django.contrib中其它可用的特性,如用户鉴别系统(django.contrib.auth)、支持匿名会话(django.contrib.sessioins)以及用户评注系统(django.contrib.comments)。
1、setting配置
INSTALLED_APPS # 自行添加
'django.contrib.admin'
INSTALLED_APPS # 确保存在 Django的管理工具需要这3个包
'django.contrib.auth','django.contrib.contenttypes'和'django.contrib.sessions'
MIDDLEWARE_CLASSES
'django.middleware.common.CommonMiddleware'
'django.contrib.sessions.middleware.SessionMiddleware'
'django.contrib.auth.middleware.AuthenticationMiddleware' 。
2、模型安装
这是1.9版本的命令$ python manage.py makemigrations books 表示保存更改到一个migration中,这都是文件
$ python manage.py sqlmigrate books 0001 表示执行一个migrations ,并返回他们的SQL
-- App_01/migrations/0001_initial.py
$ python manage.py migrate 执行变更
$ python manage.py shell 可进入配置数据库--
$ python manage.py createsuperuser 创建一个超级用户
这时1.9版本以前的命令
python manage.py validate 检查你的模型的语法和逻辑
python manage.py sqlall books 生成 CREATE TABLE 语句
python manage.py syncdb 提交SQL语句至数据库
python manage.py dbshell 可进入数据库交互(sql语句)
python manage.py shell 带环境的python交互
from books.models import Publisher 可在此对数据库操作
p1 = Publisher(name='Apress', address='2855 Telegrap....................
p1.save() sql 会执行一条INSERT 语句
3、将admin添加 URLconf
1.9版本
from django.conf.urls import url
from django.contrib import admin
from books import views
urlpatterns = [
url(r'^admin/', admin.site.urls),]
1.9以前的
# Include these import statements...
from django.contrib import admin
admin.autodiscover()
# And include this URLpattern...
urlpatterns = patterns('',
# ...
(r'^admin/', include(admin.site.urls)),
# ...
)
4、更改admin管理界面语言
MIDDLEWARE_CLASSES # 更改django的语言 setting.py
'django.contrib.sessions.middleware.SessionMiddleware'.
'django.middleware.locale.LocaleMiddleware'
5、注册模型
将模型中定义的数据类型,注册到 admin.py中,就可以通过admin管理界面操作
from django.contrib import admin
from mysite.books.models import Publisher, Author, Book
admin.site.register(Publisher)
admin.site.register(Author)
admin.site.register(Book)
设置可选字段
为了指定email字段为可选,你只要编辑Book模块(它在mysite/books/models.py文件里),在email字段上加上blank=True。
(默认blank=False),但有些数据指空(字符串)会错误如:日期型、时间型和数字型字段,那么只能用NULL指空
class Book(models.Model):
title = models.CharField(max_length=100)
authors = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
publication_date = models.DateField(**blank=True, null=True** )
自定义字段标签
class Author(models.Model):
# 指定verbose_name将Author.email的标签改为e-mail
email = models.EmailField(blank=True, **verbose_name='e-mail'** )
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。