我正在按照 Wagtail 文档自定义用户模型。我想将图像添加到用户模型。
Django 版本:2.0.8,Wagtail 版本:2.1
问题
使用图像选择器字段选择图像并单击“保存”后,出现此错误:
'没有提交文件。检查表格上的编码类型。
代码
模型.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='+')
表格.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'))}
编辑.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 类似
到目前为止我尝试过的
AdminImageChooser
使用我在这里找到的小部件的想法。我必须通过添加一个来调整表单,forms.ImageField
以便用户页面显示没有错误。
问题
任何人都知道为什么会发生错误以及如何解决它?
正如上面的谷歌组线程中所述,向用户模型添加图像似乎“有点尴尬”。将图像连接到用户以在站点中重复使用的更好方法是什么?要求是可以在 Wagtail 管理员中轻松更改图像。
Wagtail 2.2版的其他问题
在管理界面的“设置”>“用户”中,该窗口AdminImageChooser
未打开。
控制台显示以下 JS 错误:
未捕获的 ReferenceError:未定义 createImageChooser