手机更改了字体但是在xmind 个别字体App应用还是显示安卓默认

关于django时区设置的问题
如果你要设置比默认时区早八个小时,那就
USE_TZ = Talse
TIME_ZONE = 'Etc/GMT%+-d'%(time.timezone/3600)
如果你要和的中数据保持一致
USE_TZ = False
TIME_ZONE = 'Etc/GMT%+-d'%(time.timezone/3600)
其实那些破玩意都没有用。
django会再你设置
USE_TZ = True
TIME_ZONE = 'Etc/GMT-8 '
TIME_ZONE = 'Asia/Shanghai'
TIME_ZONE = 'Etc/GMT%+-d'%(time.timezone/3600)
的时候,自动给你讲时区加到北京时间。&
将USE_TZ = False设置为False
就代表你不用那些垃圾的设置,数据库里是什么就是什么。
ok,就这些了。有时候好像设置了没变化和缓存有关系。
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'&&国之画&&&& &&
版权所有 京ICP备号-2
迷上了代码!第二节 查看、过滤、搜索和排序2.1 ModelAdmin能做什么ModelAdmin是admin应用中最常用的一个类,最终效果都将在这个类中体现出来。总的来说,这个类可以完成以下功能: 逻辑实现单个对象(object)的操作:创建(add)、修改(change)、删除(delete) 结果集(queryset)的操作:查看(display)、搜索(search)、过滤(filter)、分页(paginator)、排序(sort) 权限控制:增删改查、自定义权限 界面布局每个modelAdmin有四个页面,添加页面(add)、修改页面(change)、列表页面(changelist)、历史页面(history),每个页面含有自己特定的区域,称之为block。使用ModelAdmin自定义各个block的内容和位置。 2.2 ModelAdmin基本准则MVT模式admin应用和普通Django一样,也有自己的urls模块、views模块、template前台模板,记住它们的规则是非常必要的。urls-views-template对应关系在定义在django.contrib.admin.options.ModelAdmin的get_urls方法中。 def get_urls(self):
from django.conf.urls import patterns, url
def wrap(view):
def wrapper(*args, **kwargs):
return self.admin_site.admin_view(view)(*args, **kwargs)
return update_wrapper(wrapper, view)
info = self.model._meta.app_label, self.model._meta.module_name
urlpatterns = patterns('',
url(r'^$',
wrap(self.changelist_view),
name='%s_%s_changelist' % info),
url(r'^add/$',
wrap(self.add_view),
name='%s_%s_add' % info),
url(r'^(.+)/history/$',
wrap(self.history_view),
name='%s_%s_history' % info),
url(r'^(.+)/delete/$',
wrap(self.delete_view),
name='%s_%s_delete' % info),
url(r'^(.+)/$',
wrap(self.change_view),
name='%s_%s_change' % info),
return urlpatterns
ModelAdmin和Model使用admin.site.register方法将ModelAdmin和Model关联起来,每个model只能拥有一个ModelAdmin与之关联,关联之后在ModelAdmin中可以使用self.model访问该model,ModelAmin方法的obj参数也是指的这个model。Model可以是一个代理模型类,使用方法参见这里。 选项静态和动态配置ModelAdmin对于同一个选项通常有静态(成员变量形式)和动态(成员方法形式)两种不同的方式,且后者具有更高的优先级。在下面的例子里remark列不会显示。 #coding=utf8
from django.contrib import admin
class StudentModelAdmin(admin.Model):
list_display = ['name','sex','remark']
def get_list_display(self, request):
return ['name','sex']
动态性体现在可以根据每次请求的相关信息决定不同的内容。具体来说,在每个选项的方法中都含有一个request参数,是HttpRequest类型的,代表了本次请求对象,你可以根据request包含一些请求相关信息和数据返回不同的内容。常用见下表。 属性类型描述pathstring路径,不含主机和端口methodstring请求方法GET/POST/REQUESTdict请求数据userUser/AnonymousUser当前登录用户对应的User对象或匿名用户对象2.3 数据查看列显示list_display和get_list_display(self,request)返回是一个tuple或list,如果子类需要进行修改请使用list。每个元素都是一个字符串,按优先级高低排列如下:
模型字段:在model定义的XxxField字段
函数:原型def get_filed_name(obj)
ModelAdmin方法:原型def get_filed_name(self,obj)
model方法:def get_filed_name(self)
最常使用的是1,2,3。第二/三种方法(它们的区别是一个写在ModelAdmin类外面,一个作为ModelAdmin成员函数)除了可以显示字符串之外,还可以显示html文本,比如一个链接、一张图片等,需设置allow_tags=True。下面是一个完整的例子,显示当前账户的余额状态。 from django.contrib import admin
class PayAccount(models.Model):
customer = models.OneToOneField(Customer, verbose_name=u'客户')
balance = models.FloatField(verbose_name=u'余额(元)', default=0)
remark = models.CharField(max_length=200, verbose_name='备注', null=True, blank=True)
def __unicode__(self):
return self.customer.name
class Meta:
verbose_name = u'预缴账户'
verbose_name_plural = u'预缴账户'
class PayAccountModelAdmin(CustomizeModelAdmin):
def get_account_state(self, obj):
if obj.balance & 0:
return u'&span style="color:font-weight:bold"&%s&/span&' % (u"已欠费",)
elif obj.balance &= 50:
return u'&span style="color:font-weight:bold"&%s&/span&' % (u"余额不足",)
return u'&span style="color:font-weight:bold"&%s&/span&' % (u"正常",)
get_account_state.short_description = u'账户状态'
get_account_state.allow_tags = True
get_account_state.admin_order_field = 'balance'
list_display = ['customer', 'balance', 'get_account_state', 'remark']
结果集显示def queryset(self,request)(django1.6以下)或def get_queryset(self,request)(django1.6+) 返回一个queryset对象,常用的做法是先调用父类的queryset方法得到默认结果集在进行过滤,当然还是一次性访问数据库的。 2.4 数据过滤在数据表格的右上角显示为一个过滤工具条,如图。每个过滤值以一个链接形式展现。 list_filter是描述可过滤的列的集合,返回的是一个tuple或list。其中的每个元素可以是以下的类型。 字段名称:这个字段可以是BooleanField, CharField, DateField, DateTimeField, IntegerField, ForeignKey 和ManyToManyField,不过如果可能值太多的话,还是考虑用搜索的方法,不然过滤工具条会拖得很长。 一个继承自admin.SimpleListFilter的类,它主要有以下几个重要的属性和方法: title:就是过滤条上“以”后面的文字。 def lookups(self,request,modeladmin):返回一个nX2的二维列表,每个元素代表一个过滤值,前面是查询变量值,后面是显示在工具条的文字。 paramter_name:查询变量名 def queryset(self,request,queryset):返回结果集,在处理GET参数时已经复制给self.value()中了,因此这个函数的实现方式通常是 对self.value()进行判断,返回相应的结果集,不过注意一点的是self.value()是字符型,如果你的lookup是整数型的需要转化类型。 下面的这个例子实现了账户余额状态过滤。 功能需求:状态分为三种:当余额大于50元时,为正常状态;当余额在0-50元(含0和50)时,为余额不足状态;当余额小于0时,为已欠费状态。因为数据存的是余额这个字段,状态过滤需要自定过滤器。 class AccountBalanceStateFilter(admin.SimpleListFilter):
title = (u'余额状态')
# Parameter for the filter that will be used in the URL query.
parameter_name = 'balance_state'
def lookups(self, request, model_admin):
Returns a list of tuples. The first element in each
tuple is the coded value for the option that will
appear in the URL query. The second element is the
human-readable name for the option that will appear
in the right sidebar.
(0, u'正常'),
(1, u'余额不足'),
(2, u'已欠费'),
def queryset(self, request, queryset):
Returns the filtered queryset based on the value
provided in the query string and retrievable via
`self.value()`.
if self.value():
if int(self.value()) == 0:
return queryset.filter(balance__gt=50)
if int(self.value()) == 1:
return queryset.filter(balance__range=(0, 50))
if int(self.value()) == 2:
return queryset.filter(balance__lt=0)
效果见上图。其中“已欠费”的链接GET字符串就含有:?balance_state=2。“全部”过滤值是admin自动添加的,它的连接就没有balance_state这个查询变量了。 另外,admin对于时间的过滤处理可以使用上面的形式即在list_filter添加一个datetime类型的字段,还可以用date_hierarchy 选项控制,它将在表头显示一个“年-月-日”过滤器。 2.5 搜索在ModelAdmin中与搜索有关的属性和方法是search_fields和get_search_results(request,queryset,search_term) 。 基本搜索前者和显示和过滤一样,也是一个列名组成的list或tuple。每个列必须是字符串或文本类型的,这个字段可以属于本model或者model的外键对象的,用'foreign_key__related_fieldname'形式表示。 在搜索类型方面,admin支持精确、模糊以及自定义搜索三种,默认是模糊搜索。还可以通过前缀符控制匹配的具体条件:^表示以此开始的字符;=表示精确匹配,@表示全文搜索。 具体参见官方Demo:
自定义搜索get_search_results(request,queryset,search_term)是定义当用户输入的文本内容应该返回的结果集。此方法Django1.6+有效。 2.6 排序排序可分为database层和django层。它们的区别是:
前者指的是数据库结果集返回的顺序,影响的是查询SOL的ORDER BY后面的内容,后者指的是传递给前台模板中queryset的顺序。
后者优先级大于前者,前者只有当调用ModelAdmin(Django内置,不是自己写的)queryset方法时候起作用。
前者只支持按数据已存在的列排序(因为要组成SQL),后者是结果集排序,所以支持自定义排序。(参见内置的)。
在admin中与排序有关有以下几个地方:
Model内部类Meta的ordering成员变量(database层)
ModelAdmin中ordering变量 (database层)
ModelAdmin中get_ordering(self, request)方法(database层)
ModelAdmin中queryset方法 (django层)
以上几项优先级按从低到高。database的排序配置和过滤、显示等一样,支持list或tuple,降序排序时在该列名字之间加“-”前缀。 在changelist页面来看,每个可排序的列,通常是数据库的列的表头是带有链接的,点击后可按此列升降序排序。如果想让自定义的列也支持排序只要设置admin_order_field即可。比如在上述的例子中,想让账户账户状态按余额排序,只要添加以下以下代码即可。 get_account_state.admin_order_field = 'balance'
但是这种排序并不是实时的,是新的HTTP请求,链接的地址可以看出是以"o"为查询变量的。格式类似于“o=1,-2”,即按list_display中第2列升序、第3列降序排列。
如果您想留下此文,您可以将其发送至您的邮箱(将同时以邮件内容&PDF形式发送)
相关文章推荐
(Ctrl+Enter提交) &&
已有0人在此发表见解
&在& 11:26收藏到了
&&在信息爆炸的时代,您的知识需要整理,沉淀,积累!Lai18为您提供一个简单实用的文章整理收藏工具,在这里您可以收藏对您有用的技术文章,自由分门别类,在整理的过程中,用心梳理自己的知识!相信,用不了多久,您收藏整理的文章将是您一生的知识宝库!
· 蜀ICP备号-1使用Django1.7开发博客 - 最新进展 - Python,Django - language - ITeye论坛
使用Django1.7开发博客 - 最新进展
锁定老帖子
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
来自: 广州
发表时间:&&
最后修改:
相关知识库:
之前的教程:
已经搭建了一个具有基本功能的博客,最近又持续不断的改进,争取能将整个完整功能全部加上。
具体新增功能:
1. 页面美化,加入了自定义样式和最新bootstrap
2. 文章评论功能,并且显示每篇文章的评论数
3. 文章标签,侧边栏会显示标签云,具体还有一个实现标签云的算法
4. 分类目录
5. 显示最新文章
6. 文章归档功能,按照月份归档
未来的计划:
1. 实现热门文章功能,根据评论数或者点击率来排名
2. 给文章评分,或顶和踩
3. 集成xadmin的后台管理系统,管理员维护博客。
4. 全文搜索功能
5. 引入富文本编辑器,让格式更漂亮,并支持代码高亮等功能
在持续改进过程中,不断的总结学习django框架,QuerySet的熟练使用,模板,全局处理器,静态资源等。后面还会引入缓存redis,因为点击率这些非常易变的应该要使用缓存。目前是直接存储数据库,速度有点慢。
总之,在实际开发过程中不断的总结才是最好的学习方法。
GitHub项目地址:
Heroku演示地址:
目前的效果图:
同时我也希望大家可以fork这个工程,共同开发去改进它,毕竟一个人的力量很有限!期待一起合作。^_^
跳转论坛:移动开发技术
Web前端技术
Java企业应用
编程语言技术

我要回帖

更多关于 打印机个别字体乱码 的文章

 

随机推荐