【发布时间】:2019-02-05 06:26:35
【问题描述】:
我正在关注 Wagtail 文档到 customize the user model。我想向用户模型添加图像。
Django 版本:2.0.8, 鹡鸰版本:2.1
问题
使用图像选择器字段选择图像并单击“保存”后,出现此错误:
'没有提交文件。检查表单上的编码类型。'
代码
models.py
from django.db import models
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
display_image = models.ForeignKey('wagtailimages.Image',
null=True,
blank=True,
on_delete=models.SET_NULL,
related_name='+')
forms.py
from django import forms
from django.utils.translation import ugettext_lazy as _
from wagtail.users.forms import UserEditForm, UserCreationForm
from wagtail.images.widgets import AdminImageChooser
class CustomUserEditForm(UserEditForm):
display_image = forms.ImageField(
widget=AdminImageChooser(), label=_('Autorenbild'))
class CustomUserCreationForm(UserCreationForm):
display_image = forms.ImageField(
widget=AdminImageChooser(), label=_('Autorenbild'))}
edit.html
{% extends "wagtailusers/users/edit.html" %}
{% block extra_fields %}
{% include "wagtailadmin/shared/field_as_li.html" with field=form.display_image %}
{% endblock extra_fields %}
{% block extra_js %}
{{ block.super }}
{% include 'wagtailadmin/pages/_editor_js.html' %}
{% endblock extra_js %}
create.html 类似
到目前为止我所做的尝试
我找到了here 使用AdminImageChooser 小部件的想法。我必须通过添加 forms.ImageField 来调整表单,以便 User 页面正确显示。
问题
有人知道错误发生的原因以及如何解决吗?
如上述 Google 群组线程中所述,将图像添加到用户模型似乎“有点尴尬”。将图像连接到用户以在站点中重复使用的更好方法是什么?要求是可以在 Wagtail 管理员中轻松更改图像。
Wagtail 2.2 版的其他问题
在管理界面的设置>用户中,AdminImageChooser的窗口没有打开。
控制台显示以下 JS 错误:
未捕获的 ReferenceError:未定义 createImageChooser
【问题讨论】:
-
更新到 wagtail 2.2 后我遇到了同样的问题
-
确实,我已经安装了 Wagtail 2.2。当我降级到 2.1 时,图像选择器工作。但我收到另一个错误:'没有提交文件。检查表格上的编码类型。任何想法?感谢您迄今为止的帮助!
-
你的 django 版本是多少?
-
目前我使用的是 Django 2.0.8
标签: python django wagtail django-custom-user