Admin##
介绍###
- Admin是Django自带的一个功能强大的自动化数据管理界面
- 被授权的用户可以直接在Admin中管理数据库
- Django提供了许多针对Admin的定制功能
配置###
- 创建超级用户
python manage.py createsuperuser
- 访问Admin
地址为localhost:8000/admin/ - 界面汉化
修改settings.py中LANGUAGE_CODE = 'zh-hans' - 配置应用
- 在应用下admin.py中引入自身的models模块(模块类)
- 编辑admin.py,加入
admin.site.register(models.YourClassName)
- 修改数据默认显示名称
- 在Article类下添加一个方法
- 根据Python版本选择_str_(self)(python3)或者_unicode_(self)(python2)
- return self.title
例子:博客开发##
页面概况###
- 博客主页面
- 博客文章内容页面
- 博客撰写页面
主页面内容###
- 文章标题列表(超链接)
- 发表博客按钮(超链接)
列表编写思路####
- 取出数据库所有文章对象
- 将文章对象打包成列表,传递到前端
- 前端页面把文章以标题超链接的形式列出
模板For循环####
- {% for xx in xx s%}
- HTML语句
- {% endfor %}
博客文章页面###
- 标题
- 文章内容
- 修改文章按钮(超链接)
URL传递参数####
- 参数写在响应函数中的request后,可以有默认值
- URL正则表达式
'article.(?P<article_id>[0-9]+)/'
- URL正则中的组名必须和参数名一致
超链接目标地址####
- href后面是目标地址
- template中可以用"{%url 'app_name:url_name' param%}"
- 其中app_name和url_name都在url中配置
再配URL####
- url函数的名称参数
根urls,写在include()的第二个参数位置,namespace = 'blog'
应用下则写在url()的第三个参数位置,name = 'article'
主要取决于是否使用include引用了另一个url配置文件
博客撰写页面###
- 标题编辑栏
- 文章内容编辑区域
- 提交按钮
编辑响应函数####
- 使用request.POST.get['参数名']获取表单数据
- 使用models.Article.objects.create(title,content)创建对象
修改文章###
两个编辑页面的区别####
- 新文章为空,修改文章有内容
- 修改文章页面有文章对象
- 文章ID不同
修改数据####
- article.title = title
- article.save()
其他补充##
Templates过滤器###
介绍####
- 写在模板中,属于Django模板语言
- 可以修改模板中的变量,从而显示不同的内容
使用方法####
- {{value|filter1|filter2|..}}
例子:{{list_nums|length}}
Django Shell###
介绍####
- 一个Python的交互式命令行程序
- 可以自动引入项目环境
- 可以使用与项目进行交互
使用####
python manage.py shell
from blog.models import Article
Article.objects.all()
用途####
- 进行调试
- 测试未知方法
Admin###
创建admin配置类####
- 打开admin.py
- class ArticleAdmin(admin.ModelAdmin)
- 注册:admin.site.register(Article,ArticleAdmin)
显示其他字串####
- list_display = ('title', 'content',)
- list_display同时支持tuple和list
显示发布时期####
- pub_time = models.DateTimeField(auto_now=True)
- 修改完后需要移植数据(见之前笔记)
过滤器####
- list_filter = ('pub_time',)
(完)