【发布时间】:2017-06-01 06:00:16
【问题描述】:
我在 Django 1.11.1 和 Python 3.5.2 上运行 Wagtail 1.10.1。 我有一个 Django 表单,供人们在不成为用户的情况下向网站提交页面。
我添加了下一段以添加更多信息。
基本思想是未登录的人可以通过表单提交条目。这是显示错误消息的网页。信息提交后的管理视图显示没有此类错误。所有脚本文件都已正确加载。
我的开发机器(本地主机)上表单(不是管理页面)的错误消息是
Uncaught ReferenceError: makeHalloRichTextEditable is not defined
at localhost/:136
表单 HTML 的相关部分如下所示
<label for="id_body">Content of the item.</label>
<textarea name="body" cols="40" id="id_body" rows="10">
</textarea><script>makeHalloRichTextEditable("id_body");</script>
在模板中该部分看起来像
{{ form.body.label_tag }}
{{ form.body }}
{{ form.body.errors }}
models.py文件的相关位是
class NewsPage(Page):
body = RichTextField(blank=True)
submitted_by = models.CharField(max_length=255)
submitter_email = models.EmailField()
【问题讨论】:
-
makeHalloRichTextEditable函数应该定义在文件 /static/wagtailadmin/js/hallo-bootstrap.js 中。您是否在 HTML 源代码中看到对该文件的引用?如果您直接在浏览器中访问该 URL,它会正确显示吗? -
我没有看到对该文件的引用,但如果我转到 URL,它确实会在浏览器中正确显示。
-
由于显示错误的网页不是管理页面,因此没有加载管理脚本也就不足为奇了。我正在尝试将富文本字段(可在管理员中编辑为富文本)连接到标准文本区域 Django 表单字段(看起来像纯文本),以供未登录用户提交信息。