Tools
首页
画图
音乐
采集
记事
博客
实验室
登录
lypeng
146
文章
11
分类
46
记事
分类
生活-[23]
Linux-[24]
前端-[9]
数据库-[16]
PHP-[31]
git-[7]
其他-[6]
python-[20]
算法-[4]
React-Native-[4]
中草药-[2]
广告位1
广告位2
首页
/ python
返回列表
django体验(三)跟着文档走 part6+part7
阅读:466
发布:2018-08-20
作者:lypeng
django体验 官方文档地址:`https://docs.djangoproject.com/en/2.1/intro/tutorial05/` [TOC] # 六、测试 (part5) 跳过,先入门,以实现功能为主 # 七、static(part6) ## 1. 创建mysite/polls/static目录 建立static/polls/style.css文件 ## 2. 载入style 修改index.html ``` {% load static %}
``` 同样方法可导入js与图片 `` `
` # 八、关于后台的快速表单(part7) ## 1. 定制admin表单 设置字段 ``` class QuestionAdmin(admin.ModelAdmin): # fields = ['pub_date', 'question_text'] fieldsets = [ (None, {'fields': ['question_text']}), ('Date information', {'fields': ['pub_date']}), ] ``` 关联对象 方法一、和question一样,注册一下 ``` admin.site.register(Question, QuestionAdmin) admin.site.register(Choice) ```   添加选项的时候,自动和问题关联了 方法二、question中包含choice,使用inlines属性 ``` # polls/admin.py from django.contrib import admin from .models import Choice, Question class ChoiceInline(admin.StackedInline): model = Choice extra = 3 class QuestionAdmin(admin.ModelAdmin): fieldsets = [ (None, {'fields': ['question_text']}), ('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}), ] inlines = [ChoiceInline] admin.site.register(Question, QuestionAdmin) ``` 即给question绑定了choice,而不是把choice单独出来 extra=3,choice选项个数 TabularInline 代替 StackedInline使选项在一行,占用更少的页面空间 ## 2. 定制后台列表选项 admin.py ``` # list_display = ('question_text', 'pub_date') list_display = ('question_text', 'pub_date', 'was_published_recently') list_filter = ['pub_date'] //过滤筛选字段 search_fields = ['question_text'] //搜索字段 list_per_page = 2 //每页两条,默认100 ``` ## 3. 定制后台模板 自带的后台模板:`D:\anaconda\Lib\site-packages\django\contrib\admin\templates` 把templates/下的文件都拷贝到polls/templates/里面,然后就可以自己修改了 # 九、体验结束,简单小结 1. 所有的东西都是写好的,只需要简单配置就行,但前提你得知道有哪些方法属性(这个需要翻手册文档查询) 2. 后台的py文件目前没有涉及太多,只有后台的template可以复制自带的到项目中修改。 3. 前台执行流程views加载models,渲染templates,views相当于Controller,即PHP中的MVC,对应这里的MTV,M(Model)/T(Template)/V(View) 4. 前台界面,自己加载css,js去美化,django有自己的模板标签写法{% ... %} {{ ... }} 5. 接下来自己写个demo再尝试下,了解下。如果目前要跟PHP比较,那肯定是PHP顺手~
------本文结束
感谢阅读------
上一篇:
django体验(二)跟着文档走 part3+part4
下一篇:
django(四)参考polls做两个页面以及部署与问题整理