- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在按照 Wagtail 文档找到 customize the user model .我想向用户模型添加图像。
Django 版本:2.0.8,鹡鸰版本: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
小部件的想法here .我必须通过添加 forms.ImageField
来调整表单,以便 User 页面显示无误。
问题
有人知道错误发生的原因以及如何解决吗?
如上述 Google 群组帖子所述,向用户模型添加图像似乎“有点尴尬”。将图像连接到用户以在站点中重复使用的更好方法是什么?要求是可以在 Wagtail 管理中轻松更改图像。
Wagtail 2.2 版的其他问题
在管理界面的设置 > 用户中,AdminImageChooser
的窗口不会打开。
控制台显示以下 JS 错误:
未捕获的 ReferenceError:未定义 createImageChooser
最佳答案
在 Django 3.0.7 和 wagtail wagtail 2.9 上,我可以这样解决:
模型.py
class User(AbstractUser):
avatar = models.ForeignKey(
'wagtailimages.Image',
null=True,
blank=True,
on_delete=models.SET_NULL,
related_name='+'
)
表单.py
使用 ModelChoiceField 而不是 ImageField 很重要,这样您就符合 AdminImageChooser 小部件的要求。
from django import forms
from wagtail.images import get_image_model
from wagtail.images.widgets import AdminImageChooser
from wagtail.users.forms import UserCreationForm, UserEditForm
class CustomUserEditForm(UserEditForm):
avatar = forms.ModelChoiceField(
queryset=get_image_model().objects.all(), widget=AdminImageChooser(),
)
class CustomUserCreationForm(UserCreationForm):
avatar = forms.ModelChoiceField(
queryset=get_image_model().objects.all(), widget=AdminImageChooser(),
)
模板
无需手动加载任何 Javascript。该小部件会为您完成。
任何模板目录/wagtailusers/users/create.html
{% extends "wagtailusers/users/create.html" %}
{% block extra_fields %}
{% include "wagtailadmin/shared/field_as_li.html" with field=form.avatar %}
{% endblock extra_fields %}
任何模板目录/wagtailusers/users/edit.html
{% extends "wagtailusers/users/edit.html" %}
{% block extra_fields %}
{% include "wagtailadmin/shared/field_as_li.html" with field=form.avatar %}
{% endblock extra_fields %}
关于python - Wagtail:将图像添加到自定义用户模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52094821/
我有一个 wagtail 非页面模型,我想使用 InlinePanel以便我可以在父表单中内联编辑多个项目。 class Parent(ClusterableModel): panels = [
我有一个使用多站点模式的 wagtail 安装,每个站点有一组用户,每个组都是自己的集合。 当用户登录管理界面时,他们会在摘要部分看到所有集合中的图像计数。 但是当他们点击图像菜单时,他们只能看到他们
我正在关注 the documentation还有this example在我的 Wagtail 站点中创建自定义 OEmbed Finder。 (最终我想修改 YouTube 视频的 HTML 输出
Wagtail 是美妙的 CMS。我确实有一个问题如何在管理员中添加子菜单。我有一个自定义模型位置在那个模型中我有 2 个外键。要管理通过 modeladmin 创建的位置模型,请使用菜单。但是,要管
我很难实现“嵌套类别”之类的东西: PageA: - Cat1 - SubCat1 - SubCat2 - ... - Cat2 - SubCat1 - .
对于博客应用程序或 CMS,这似乎是一个非常简单的要求: 如何自动使登录用户成为 wagtail 页面的作者?例如,如果我以“Bob”身份登录并输入帖子,则作者应自动为“Bob” ". 通常我会简单地
我想从仪表板禁用 wagtail 更新警报。我担心它会惊动我的客户。我很感激你的提醒,但没有办法忽略它。我猜此时唯一的行动方案是进入 wagtail 管理模板并简单地注释掉适用的代码? 最佳答案 有
我在预览 Wagtail 页面时遇到错误,但在发布和实时查看时一切正常。我的设置是这样的: from django.db import models from modelcluster.fields
对于博客应用程序或 CMS,这似乎是一个非常简单的要求: 如何自动使登录用户成为 wagtail 页面的作者?例如,如果我以“Bob”身份登录并输入帖子,则作者应自动为“Bob” ". 通常我会简单地
我想从仪表板禁用 wagtail 更新警报。我担心它会惊动我的客户。我很感激你的提醒,但没有办法忽略它。我猜此时唯一的行动方案是进入 wagtail 管理模板并简单地注释掉适用的代码? 最佳答案 有
我在预览 Wagtail 页面时遇到错误,但在发布和实时查看时一切正常。我的设置是这样的: from django.db import models from modelcluster.fields
url(r'^$', views.HomePage.as_view(), name='homepage'), class HomePage(RedirectView): def get(sel
我正在使用鹡鸰作为 headless CMS。我想让此 CMS 的用户能够轻松查看 SPA 上的页面预览。我已覆盖 API 以在 token 的帮助下公开草稿页面。 我唯一坚持的部分是修改 Previ
有没有办法在 Wagtail 中为 FieldPanel 设置自定义标签?我想做类似的事情: class BlogPage(Page): intro = models.CharField(ma
我试图让两个不同的 Wagtail 站点拥有自己的 404 页面,但似乎没有办法在 wagtail“设置”=>“的“站点”配置中指定哪个页面用作 404 页面站点”部分,当我将它们放入所涉及的应用程序
我正在创建一个 wagtail 站点,用户可以在其中注册、登录到 wagtail 管理员并编写要发布的文章页面。是否有一个钩子(Hook)或可能的方法来拦截和过滤 wagtail 管理中的数据,以便用
我在 Wagtail 2.0 富文本字段中有一堆内容,看起来像 Page heading (intro blurb) heading 1 (heading-1-relevant text) headi
我有一个 Wagtail Page 类的子类,它具有 django ManyToManyField 类型的字段。当我尝试创建页面对象的新实例时,我会获得 ManyToManyField 指向的对象列表
我有一个 Wagtail Page 类的子类,它具有 django ManyToManyField 类型的字段。当我尝试创建页面对象的新实例时,我会获得 ManyToManyField 指向的对象列表
假设我有这样一个模型: class Sandwich(models.Model): """ Food-like things stacked horizontally. """
我是一名优秀的程序员,十分优秀!