Django博客小记
2015-10-13 09:15
711 查看
最近再次用django写了一个个人博客系统,一个**CMS**(content management system)。把其中的一些点给记下来,备忘。 **1**:静态和媒体文件配置:在settings.py中加入
#静态文件地址映射 STATIC_URL = 'static_files_dir' STATICFILES_DIRS = ( os.path.join(PROJECT_ROOT, 'static_files_dir').replace('\\', '/'), ) #媒体文件 MEDIA_URL = 'media_files_dir' MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'media_files_file').replace('\\', '/')
这样这些文件才能正确加载。 **2**:在models里犯了个让人很郁闷的错误,主要是好长一段时间不知道怎么回事
def __unicode__(self): return self.id
这个id一定要把他变成str类型的。说起来都是泪啊。在**admin**后台查看相应**model**就会报错。 **3**:为了在**admin**中显示的时间好看一点。去网上找了一个有趣的东西,在相应的**admin.py**中:
class CatagoryAdmin(admin.ModelAdmin): def time_format(self, Catagory): return Catagory.create_time.strftime("%y/%m/%d") time_format.admin_order_field = 'create_time' time_format.short_description = '创建时间' list_display = ('name', 'time_format')
**3**:在上传图片时,request.FILES没有数据。查文档发现 *Note that request.FILES will only contain data if the request method was POST and the <form> that posted the request has the attribute enctype="multipart/form-data". Otherwise, request.FILES will be empty.* 需要在**form**中添加属性**enctype="multipart/form-data"**。 **4**:get一个小技巧: 当需要在多个页面传入一些相同的数据时,最简单粗暴的方法就是在每个**views**加入这些东西。但是既然用**Python**了,那么肯定的用一种*elegant*一点的方法。那就是添加一个*utils.py*,重写一个render. eg:
def cus_render(request, template, result={}): if request.user.is_authenticated(): user = request.user else: #display bloghost's info if not login user = UserProfile.objects.get(id=2) setattr(user, "is_authenticated", False) 4000 result['user'] = user result['side_catagorys'] = get_catagory() result['side_tags'] = get_all_tags() result['recent_post'] = get_recent_post() return render(request, template, result)
把都需要的参数加入,然后调用这个*render*就OK。
额,暂时就记这么多了。
相关文章推荐
- 新注册
- 四大漏洞入侵博客
- 试用Kesion CMS 4.0商城版 商业版
- 在Ubuntu系统上安装Ghost博客平台的教程
- 基于php的CMS中展示文章类实例分析
- django中使用jquery ajax post数据出现403错误的解决办法(两种方法)
- django使用ajax post数据出现403错误如何解决
- CMS不要让MySQL为你流泪
- PHP多用户博客系统分析[想做多用户博客的朋友,需要了解]第1/3页
- windows+apache+mod_python配置django运行环境
- python Django连接MySQL数据库做增删改查
- django自定义Field实现一个字段存储以逗号分隔的字符串
- 基于CakePHP实现的简单博客系统实例
- 基于jsp+servlet实现的简单博客系统实例(附源码)
- 30 个很棒的PHP开源CMS内容管理系统小结
- 在Python的Django框架中加载模版的方法
- 在Django中使用Sitemap的方法讲解
- 详解Django中的form库的使用
- Django中的CACHE_BACKEND参数和站点级Cache设置
- 剖析Django中模版标签的解析与参数传递