django – 以脆弱的形式布局的ImageField预览
发布时间:2020-12-20 12:05:34 所属栏目:Python 来源:网络整理
导读:我想从 ImageField显示图像.我正在使用Django crispy forms.似乎我需要使用HTML布局助手,但我不知道如何在这里访问模板变量. 以下呈现空白图像标记: HTML('img src="{{ logo.url }}" /') 我引用了这个错误,还是有一种更好的方法? 这是完整的代码,因此您可
|
我想从
ImageField显示图像.我正在使用Django
crispy forms.似乎我需要使用HTML布局助手,但我不知道如何在这里访问模板变量.
以下呈现空白图像标记: HTML('<img src="{{ logo.url }}" />')
我引用了这个错误,还是有一种更好的方法? 这是完整的代码,因此您可以获得更好的想法: forms.py class CompanyForm(forms.Form):
name = forms.CharField(required=False,label="Company name")
logo = forms.ImageField(required=False,label="Logo")
# form layout
helper = FormHelper()
helper.form_class = 'form-horizontal'
helper.layout = Layout(
Div(
'name',HTML('<img src="{{ logo.url }}" />'),css_class='span4',),FormActions(
Submit('submit','Save',css_class="btn-primary pull-right"),)
)
models.py class Company(models.Model):
name = models.CharField(max_length=100)
logo = models.ImageField(upload_to = 'logos/',null=True)
views.py 我在视图中设置了表单的初始值: ...
profile = Company.objects.get(name="foo")
form = CompanyForm(initial={'name': profile.name,'logo': profile.logo,})
context = {
'profile_form' : form,}
return render_to_response('dashboard/company-profile.html',context_instance=RequestContext(request,context))
公司profile.html {% load crispy_forms_tags %}
<div class="row">
{% crispy profile_form %}
</div>
解决方法
有趣的是,我今天刚刚在内联图像上传表单上处理同样的问题,我最终得到了这个实现:
class ImageModelForm(forms.ModelForm):
class Meta:
model = ImageModel
def __init__(self,*args,**kwargs):
super(ImageModelForm,self).__init__(*args,**kwargs)
self.helper = FormHelper(self)
self.helper.form_tag = False
self.helper.disable_csrf = True
self.helper.layout = Layout(
'title','description','imagefile',HTML("""{% if form.imagefile.value %}<img class="img-responsive" src="{{ MEDIA_URL }}{{ form.imagefile.value }}">{% endif %}""",'flag_featured',)
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
