Django:在DDTCMS中使用Photologue做相册并增加封面的探索
2011-07-23 14:25
288 查看
写于2010年11月6日
今天主要是想把admin中的一个图集的cover 在编辑的时候,限定为该图集所属的图片中,但是没有发现好的方法。我使用了2种尝试。
一种是在models.py中的gallery的init函数中初始化cover的可选值:
第二种就是改admin.py了
另外通过查看admin的代码,知道
也就是说在django1.3中,这种call的方式来获取request的方法,进而获取当前登录用户的方法可能要失败了。这个我在blog中使用过,从国外的朋友那里借过来的方法。
想了又想,admin真的是个鸡肋,看来以后的方向就是减少甚至不在admin的界面上作什么优化了,把功夫下在前台上。Admin的管理功能的增强还不如放在前面呢,这样在view中处理什么都很方便的。
傻逼的admin。
实在不行的话,我只好再下点精力转向pylons那种自由的东西了,告别django种种的鸡肋模块,如orm,如urlconf,如模板渲染语言,等等,真的是,要找django的缺点,真是一大堆。
今天主要是想把admin中的一个图集的cover 在编辑的时候,限定为该图集所属的图片中,但是没有发现好的方法。我使用了2种尝试。
一种是在models.py中的gallery的init函数中初始化cover的可选值:
#def __init__(self, *args, **kwargs): # #self.cover.choices = self.photos.all() # o=self.cover # super(Gallery, self).__init__(*args, **kwargs) # #self.set_cover_choices() # self.cover.queryset = self.photos.all() #def set_cover_choices(self): # p=self.photos.all() # o=type(self.cover) # self.cover.choices = self.photos.all()但是init根本不行,说cover是个nonetype,也就是说cover根本 就没有被初始化。
第二种就是改admin.py了
class GalleryAdmin(admin.ModelAdmin): list_display = ('title', 'date_added', 'photo_count', 'is_public') list_filter = ['date_added', 'is_public'] date_hierarchy = 'date_added' prepopulated_fields = {'title_slug': ('title',)} filter_horizontal = ('photos',) def formfield_for_dbfield(self, db_field, **kwargs): field = super(GalleryAdmin, self).formfield_for_dbfield(db_field, **kwargs) # Get the default field if db_field.name == 'cover': my_choices = [('', '---------'),('1',"fff")] #my_choices.extend(Photo.objects.filter(gallery=实例化的gallery).values_list('id','name')) #print my_choices d=dir(self) p=dir(self.model) q=self.model.cover g() field.choices = my_choices return field但是问题是,不知道怎么获取该GalleryAdmin具体实例化时使用的Gallery是哪个,因此搁浅。
另外通过查看admin的代码,知道
# DEPRECATED methods. # def __call__(self, request, url): This function still exists for backwards-compatibility; it will be removed in Django 1.3.
也就是说在django1.3中,这种call的方式来获取request的方法,进而获取当前登录用户的方法可能要失败了。这个我在blog中使用过,从国外的朋友那里借过来的方法。
想了又想,admin真的是个鸡肋,看来以后的方向就是减少甚至不在admin的界面上作什么优化了,把功夫下在前台上。Admin的管理功能的增强还不如放在前面呢,这样在view中处理什么都很方便的。
傻逼的admin。
实在不行的话,我只好再下点精力转向pylons那种自由的东西了,告别django种种的鸡肋模块,如orm,如urlconf,如模板渲染语言,等等,真的是,要找django的缺点,真是一大堆。
相关文章推荐
- 在django中使用post方法时,需要增加csrftoken
- 我和Django那些事儿(8)----相册django插件photologue,jQuery插件Slides
- django-10-数据库使用04 后台安装配置及增加用户对数据库基本读写操作
- 在django使用apache部署中增加python的查找路径
- 微信小程序-从相册获取图片,视频 使用相机拍照,录像上传+服务器(nodejs版)接收
- 三【用django2.0来开发】后台会员管理(二) ModelAdmin 模型管理的使用方法
- 【转】使用ASP.NET 2.0新增加的SetFocus和MaintainScrollPositionOnPostback增强用户体验
- 单独的 python 脚本文件使用 django 自带的 model
- 多图片上传 可预览增加删除,使用js局部刷新,并结合spingmvc使用
- 四【用django2.0来开发】后台会员管理(二) ModelForm表单的使用方法以及数据验证
- 如何在Django中正确的使用和设置Database和Model
- Django 中使用 logging 模块记录系统日志
- (转载)xilinx 7 系列FPGA使用之CLB 探索
- openstack nova后端使用ceph rbd(增加在线迁移live_migrate和快照snapshot功能)
- python3 django1.10 使用mysql服务器
- Django使用MongoDB非关系型数据库
- 使用脚本处理字符串,前后增加“”
- windows系统下,django1.8+python3.5使用pymysql链接 mysql数据库
- mac os x 使用zsh终端后,django-admin命令失效解决方法
- Xamarin.iOS 相机与相册的基本使用