django ModelForm修改显示缩略图 imagefield类型的实例

在使用django的modelform的时候,修改表单,图片在form表单显示的是一个链接。显示缩略图如下

第一步:

from django.forms.widgets import ClearableFileInput

class ImageWidget(ClearableFileInput):

  template_with_initial = (
    '%(initial_text)s: <a href="%(initial_url)s" rel="external nofollow" ><img width="100px" height="100px" src="%(initial_url)s"></a> '
    '%(clear_template)s<br />%(input_text)s: %(input)s'
  )

  template_with_clear = ''

图片的form组件使用

ClearableFileInput

继承它,重写里面一个属性。

第二步:使用这个样式组件

class XXXForm(forms.ModelForm):

  class Meta:
    model = XXX
    exclude = ['XXX', 'is_XXX']
    widgets = {'backend_image':ImageWidget}

以上这篇django ModelForm修改显示缩略图 imagefield类型的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Django 实现admin后台显示图片缩略图的例子

    直接上代码 定义一个upload_img来返回显示图片的html 定义显示图片说明和allow_tags mark_safe方法于django.utils.safestring导入 from django.utils.safestring import mark_safe from django.contrib import admin @admin.register(AliOSSFile) class AliOssUploadAdmin(admin.ModelAdmin): def uploa

  • Django1.9 加载通过ImageField上传的图片方法

    这里假设你是通过models的ImageField上传图片,并期望在前台img标签中能显示.能否访问图片关键在于,是否能通过正确的路径访问. 在models.py中有image如下 image = models.ImageField(upload_to='images/%Y/%m', verbose_name='文件缩略图') 在显示页面中如show.html中使用img标签显示 <img class="center-block thumbnail" src="{{re

  • django ModelForm修改显示缩略图 imagefield类型的实例

    在使用django的modelform的时候,修改表单,图片在form表单显示的是一个链接.显示缩略图如下 第一步: from django.forms.widgets import ClearableFileInput class ImageWidget(ClearableFileInput): template_with_initial = ( '%(initial_text)s: <a href="%(initial_url)s" rel="external no

  • Django ModelForm操作及验证方式

    一.内容回顾 Model - 数据库操作 - 验证 class A(MOdel): user = email = pwd = Form - class LoginForm(Form): email = fields.EmailField() user = pwd = - is_valid -> 每一个字段进行正则(字段内置正则)+clean_字段 -> clean(__all__) -> _post_clean - cleand_data - error --------> 推荐F

  • PHP上传图片类显示缩略图功能

    有缩略图功能 但是 感觉不全面,而且有点问题,继续学习,将来以后修改下 <form action="<?php $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post" ><input type="text" name="name" /><input type="file&q

  • 解决django model修改添加字段报错的问题

    关于django models中添加字段的一个小节,记录下 django的models中已经写好了字段,可是后面我又想在添加一些字段,于是就在models中添加了字段 ,发现报错了 报错的类型: 字段重复了 不知道的列 : 最后解决的方法 : 到models的目录下打开文件 ,直接把所需的字段添加到第一次编译的文件中 , 重新执行数据库的迁移 ,如果依然有报错,提示有未知的列 ,就查看数据库 ,那个列缺失,就把列给添加上 添加未知的列 至此,重新执行迁移 ,妥妥的成功了 ! 以上这篇解决djan

  • Django {{ MEDIA_URL }}无法显示图片的解决方式

    django模板使用media文件夹,想要在前端通过{{ MEDIA_URL }}无法显示图片,没有取到Media_url的值 解决办法: TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')] , 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [

  • Django中模型Model添加JSON类型字段的方法

    本文实例讲述了Django中模型Model添加JSON类型字段的方法.分享给大家供大家参考.具体如下: Django里面让Model用于JSON字段,添加一个JSONField自动类型如下: class JSONField(models.TextField): __metaclass__ = models.SubfieldBase description = "Json" def to_python(self, value): v = models.TextField.to_pytho

  • django上传图片并生成缩略图方法示例

    django 处理上传图片生成缩略图首先要注意form标签上必须有enctype="multipart/form-data"属性,另外要装好PIL库, 然后就很简单了,如下是实例代码: upload.html <div id="uploader"> <form id="upload" enctype="multipart/form-data" action="/ajax/upload/"

  • 解决Django后台ManyToManyField显示成Object的问题

    如果一个模型里包含了ManyToManyField,在admin后台可能会显示成object,例如 解决方法: 在定义这个类的时候,加多一个函数 实际效果: 以上这篇解决Django后台ManyToManyField显示成Object的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 解决Django中修改js css文件但浏览器无法及时与之改变的问题

    今天修改之前实习小伙伴写的js代码的时候,遇到修改后页面未发生变化的问题.因为我是web开发小白,所以上网查了一波,得以解决~~ 初次进行web工程开发的人可能会碰到这样的情况:自己在明明对工程上的某个js或css文件进行了修改,并提交到服务器上去了.但是在客户端浏览器里面打开页面时,并没有看到修改后的效果,而是该js文件的旧版本的效果. 如果了解过浏览器缓存就知道,为了效率,浏览器通常会缓存js/css文件.如果没有清除浏览器缓存的该js文件的话,js的修改效果就不会起作用,因为浏览器还是用的

  • laravel model模型处理之修改查询或修改字段时的类型格式案例

    先了解一下此图,有助于理解 通过上图了解 这将在原有的列上添加一列is_admin,这需要通过属性访问时才会获得,如果我们希望在获得数据的时候被一起返回,则还需要append属性 class User extends Model{ //设置方法名称 protected $appends = ['is_admin','type']; //查询时 修改 字段格式或者值 [自动触发,无需调用] public function getIsAdminAttribute() { return $this->

随机推荐