《Django By Example》读书笔记 03
2016-04-21 19:47
393 查看
接下来我们要安装python的一个模块
关于时区使用的几点想法:
如果你的网站可能有来自其它时区的,可能你要考虑这个问题。都是一个地区的话,还要看服务器是否与用户在一个地区,如果不在,也要考虑。
因此,基本上要考虑服务器时区与用户时区。服务器时区可以配置在系统中,全局生效。而用户时区则与用户相关,可以由用户自已进行设置。
在生成相关时间对象时要加入时区的信息,并在输出时进行合适的转换。
而pytz提供了创建某个时区对象的方法
在settings.py的 INSTALLED_APPS 设置中添加blog. 如下所示:
在blog的migrations文件夹,Django创建了0001_initial.py
在cmd输入
python manage.py sqlmigrate blog 0001
会看到输出如下信息
接下来同步一下数据库,在cmd运行
会看到以下输出:
创建一个超级用户,运行
根据提示输入用户名密码等信息
Django 网站管理界面可以通过运行
然后打开站点:
http://127.0.0.1:8000/admin/
可以看到
登录后
group和user模块是Django的django.contrib.auth授权的一部分
点击user可以看到刚才创建的登录用户
输入以下代码
在浏览器reload一下网站
在post右边点击add
可以看到Django为自己添加的models动态生成的页面
编辑表单点击save
这里可以自定义模块的显示
修改admin.py,如下所示
进一步自定义
趁着加班写到这里吧,明天继续
pip install pytz
关于时区使用的几点想法:
如果你的网站可能有来自其它时区的,可能你要考虑这个问题。都是一个地区的话,还要看服务器是否与用户在一个地区,如果不在,也要考虑。
因此,基本上要考虑服务器时区与用户时区。服务器时区可以配置在系统中,全局生效。而用户时区则与用户相关,可以由用户自已进行设置。
在生成相关时间对象时要加入时区的信息,并在输出时进行合适的转换。
而pytz提供了创建某个时区对象的方法
在settings.py的 INSTALLED_APPS 设置中添加blog. 如下所示:
INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'blog', )
创建和应用迁移
在数据库中创建一个表在blog的migrations文件夹,Django创建了0001_initial.py
在cmd输入
python manage.py sqlmigrate blog 0001
会看到输出如下信息
BEGIN; CREATE TABLE "blog_post" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "title" varchar(250) NOT NULL, "slug" varchar(250) NOT NULL, "body" text NOT NULL, "publish" datetime NOT NULL, "created" datetime NOT NULL, "updated" datetime NOT NULL, "status" varchar(10) NOT NULL, "author_id" integer NOT NULL REFERENCES "auth_user" ("id")); CREATE INDEX "blog_post_2dbcba41" ON "blog_post" ("slug"); CREATE INDEX "blog_post_4f331e2f" ON "blog_post" ("author_id"); COMMIT;
接下来同步一下数据库,在cmd运行
python manage.py migrate
会看到以下输出:
Operations to perform: Apply all migrations: auth, contenttypes, admin, blog, sessions Running migrations: Rendering model states... DONE Applying blog.0001_initial... OK
为models创建一个administration site
django.contrib.admin 已经包含在INSTALLED_APPS创建一个超级用户,运行
python manage.py createsuperuser
根据提示输入用户名密码等信息
Username (leave blank to use 'hunter'): whywhom Email address: whywhom@163.com Password: Password (again): Superuser created successfully.
Django 网站管理界面可以通过运行
python manage.py runserver
然后打开站点:
http://127.0.0.1:8000/admin/
可以看到
登录后
group和user模块是Django的django.contrib.auth授权的一部分
点击user可以看到刚才创建的登录用户
将自己的models加入到管理站点中
编辑admin.py输入以下代码
from django.contrib import admin from .models import Post admin.site.register(Post)
在浏览器reload一下网站
在post右边点击add
可以看到Django为自己添加的models动态生成的页面
编辑表单点击save
这里可以自定义模块的显示
修改admin.py,如下所示
from django.contrib import admin from .models import Post class PostAdmin(admin.ModelAdmin): list_display = ('title', 'slug', 'author', 'publish', 'status') admin.site.register(Post, PostAdmin)
进一步自定义
from django.contrib import admin from .models import Post class PostAdmin(admin.ModelAdmin): list_display = ('title', 'slug', 'author', 'publish', 'status') list_filter = ('status', 'created', 'publish', 'author') search_fields = ('title', 'body') prepopulated_fields = {'slug': ('title',)} raw_id_fields = ('author',) date_hierarchy = 'publish' ordering = ['status', 'publish'] admin.site.register(Post, PostAdmin)
趁着加班写到这里吧,明天继续
相关文章推荐
- tangowithdjango ch11
- go的同步模型
- Mongoose使用操作
- stl-algorithm用法
- UVa-11292 -Dragon of Loowater
- golang入门--struct Tag的语法
- ZOJ3492-Kagome Kagome
- 通过代理连接go01ge
- 《Django By Example》读书笔记 02
- django xadmin 插件(2) 列表视图新增一功能列
- tangowithdjango ch10
- google cloud messaging(GCM)机制.
- django 过滤器 、日期格式化参数
- django xadmin 插件(1)
- Django笔记 Django REST framework的Serializer 2
- Go语言中使用flag包对命令行进行参数解析的方法
- Django用户登录与注册——小白教程
- Golang (Go语言) Mac OS X下环境搭建 环境变量配置 开发工具配置 Sublime Text 2 - HeinoC
- django创建第一个项目
- django的安装