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 ...
随机推荐
- 关于block 用法
Block Apple 在C, Objective-C, C++加上Block這個延申用法.目前只有Mac 10.6 和iOS 4有支援.Block是由一堆可執行的程式組成,也可以稱做沒有名字的Fu ...
- MVC-03 控制器(3)
Controller负责处理浏览器来的所有要求,并决定响应什么属性给浏览器,以及协调Model与View之间的数据传递.在ASP.NET MVC中有好几种传递数据给视图的方式,例如从ASP.NET M ...
- RFID电子标签的二次注塑封装
生活当中,RFID电子标签具有明显的优势,随着RFID电子标签成本的降低.读写距离的提高.标签存储容量增大及处理时间缩短的发展趋势,R F I D电子标签的应用将会越来越广泛. RFID电子标签的应用 ...
- ThreadSafeClientConnManager用来支持多线程的使用http client
import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.clien ...
- Spring Boot Memory Performance
The Performance Zone is brought to you in partnership with New Relic. Quickly learn how to use Docke ...
- css 定义hr的几种样式
<style type="text/css"> <!-- .hr0{ height:1px;border:none;border-top:1px dashed # ...
- Effective C++ 第二版 10) 写operator delete
条款10 写了operator new就要同时写operator delete 写operator new和operator delete是为了提高效率; default的operator new和o ...
- Dating with girls(1)(二分+map+set)
Dating with girls(1) Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- POJ Secret Milking Machine 【网络流+二分】
题意:各一个地图,两点之间有若干条路,要在节点1和节点n之间行走t次(就是问1到n的路径数至少为t,每一条路径不能有重复),问所有路径里面最长的部分(这个题目特别强调,不是路径长度和,是路径中相邻两点 ...
- Android中的一些基础知识(二)
这几天在回顾Android的基础知识,就把一些常见的知识点整理一下,以后忘了也可以翻出来看一看. 简单介绍一下Activity的生命周期 在API文档中对生命周期回调的函数描述的很详细,这里我只是翻译 ...