django ImageField用法
settings里的设置
PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname('__file__')))
MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'media')
MEDIA_URL = '/media/'
models里的设置
cateimg = models.ImageField(upload_to='img/%Y/%m/%d')

forms里的设置
cateimg = forms.ImageField(label='图片', help_text='不能超过5M!')
views里
form = TopicNewForm(request.POST, request.FILES)
if form.is_valid():
try:
old_name = request.FILES['cateimg'].name
user_id = 12345678901
topics = pgccategory.objects.all().order_by('-id')
if len(topics) > 0:
topic_id_max = topics[0].id
else:
topic_id_max = 0
request.FILES['cateimg'].name = 'id_'+str(topic_id_max+1)+'_userid_'+str(user_id)+'_'+old_name
new = pgccategory(catename=request.POST['catename'],
cateimg=request.FILES['cateimg'],
cateinfo=request.POST['cateinfo'],
createuser=request.user)
new.save()
或者
model = User
urls里的设置
from django.conf import settings
from django.conf.urls.static import static
+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
在html里面的调用
<img src="/media/{{ ret.img }}">
django ImageField用法的更多相关文章
- Django RequestContext用法
模版中的变量由context中的值来替换,如果在多个页面模版中含有相同的变量,比如:每个页面都需要{{user}},笨办法就是在每个页面的请求视图中都把user放到context中. from d ...
- django email用法
在settings里面设置 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'EMAIL_PORT = 25EMAIL_HOST ...
- Django ImageField 上传图片并保存到数据库
转自:http://logic0.blog.163.com/blog/static/188928146201371235435974/ Form代码: class ImageUploadForm(fo ...
- django inclusion用法
概述: inclusion主要的是生成html标签, 返回的是一个字典,大分部跟simple_tag类似, simple_tag可返回任意类型的值 定义inclusion from django im ...
- django perm用法
定义用户model时可以给用户分配权限: class Meta: permissions = ( ("can_mark", "Can mark"), ...
- django groupby 用法
- Django 学习笔记之模型高级用法
目录 1 复杂的字段类型 1.1 整数类型的区别 1.2 自增类型的区别 1.3 时间类型 1.4 FilePathField 1.5 FileField 1.6 ImageField 2 关系字段 ...
- django的基本用法
1.项目创建 # 新建一个文件夹DjangoProjects# 切换到需要的文件夹创建虚拟环境 C:\Projects\DjangoProjects>python -m venv test_ve ...
- Django用法补充
1. 自定义Admin from django.contrib import admin from xx import models # 自定义操作 class CustomerAdmin(admin ...
随机推荐
- MVC-04 视图(2)
三.View如何从Aciton取得数据 从Action取得数据,在ASP.NET MVC可区分成两种方式,一种是“使用弱类型取得数据”,另一种则是“使用强类型取得数据”,两者的差别在于View页面最上 ...
- 手机SIM卡介绍 三类不同标准的SIM卡
SIM卡的全称是Subscriber Identity Module,翻译过来也叫客户识别模块,也叫做智能卡.用户身份识别卡.这块小小的芯片可以存储用户的号码.信息,以及一定数量的联系人数据,配合我们 ...
- Eclipse RCP扩展
它跟普通的插件扩展点是一样的写法,你只需要看 eclipse 自带的源码,打开你的 eclipse 目录,插件 *.exsd 找到后在 eclipse 中查看这个文件夹对应的插件的源码,里面有 plu ...
- Microsoft Deployment Toolkit 2013 Preview Release Now Available
MDT 2013 provides a common console with comprehensive tools and guidance for every organizational ro ...
- JavaSE学习总结第08天_面向对象3
08.01 工具类中使用静态 例: class ArrayTool { //将构造方法私有,外界不能创建该类的对象 private ArrayTool(){} //遍历数组 public stat ...
- VS2010 .net4.0 登录QQ 获取QQ空间日志 右键选中直接打开日志 免积分 源码下载
代码有一部分是原来写的 最近翻代码 看到了 就改了一下 CSDN上传源码 上传了几次都没 成功 郁闷 不知道怎么回事 上传不了 想要的留 邮箱 或加群77877965 下载地址在下面 演示地址 ...
- CentOS搭建PHP服务器环境(LAMP)
安装httpd mysql mysql-server php: yum install -y httpd mysql mysql-server php php-devel 安装php的扩展 yum i ...
- 高质量程序设计指南C/C++语言——C++/C编译预处理
C++/C的编译预处理器对预编译伪指令进行处理后生成中间文件作为编译器的输入,因此所有的预编译伪指令都不会进入编译阶段.预编译伪指令一般都以#打头,且其前面只能出现空白字符.预编译伪指令不是C++/C ...
- Objective-C 程序设计第四版 二
1,%@ 是用于输出OC里面的对象.例如 NSString *str = @“ls kd kd kf ”; NSLog(@“%@“, str); 2,NSInteger不是一个对象,而是基本数据类型 ...
- 文本图片自适应高度小bug以及解决办法
自定义cell的文本图片自适应高度代码,如果存在自定义的cell赋值封装,就必须将自适应高度代码写在这个方法中 点击效果: 注:- (void)layoutSubviews 方法不能同时操作,否则会出 ...