python - 直接链接到 Wagtail modeladmin View

标签 python django wagtail

我成功地使用 Wagtail 的 wagtail.contrib.modeladmin 制作了一个可从 Wagtail 管理员编辑的常规 Django 模型。我想从我的模板超链接到 modeladmin“创建”和“编辑” View 。我可以用来引用这些 View 的 URL“名称”是什么? wagtail.contrib.admin 中似乎没有urls 模块,也没有相关文档。

这是我的 directory 应用程序的 models.py:

from django.db import models

class Organisation(models.Model):
    title = models.CharField(max_length=255)
    logo = models.ImageField(upload_to='logos', blank=True)
    ...

还有我项目的urls.py:

from django.conf.urls import include, url

urlpatterns = [
    url(r'^admin/', include(wagtailadmin_urls)),
    ...
    url(r'^directory/', include('directory.urls')),
]

最佳答案

URL 名称将采用以下形式,其中 [action]indexcreateedit< 之一, delete, inspectchoose_parent:

[app_label]_[model_name]_modeladmin_[action]

例如:

  • {% url 'directory_organisation_modeladmin_index' %}
  • {% url 'directory_organisation_modeladmin_create' %}
  • {% url 'directory_organisation_modeladmin_edit' instance_pk=37 %}
  • {% url 'directory_organisation_modeladmin_delete' instance_pk=37 %}
  • {% url 'directory_organisation_modeladmin_inspect' instance_pk=37 %}
  • {% url 'directory_organisation_modeladmin_choose_parent' %}

由于提供的 URLConf 不包含 include() 的命名空间参数,因此不需要命名空间。

类似于 Django 的内置 Admin,Wagtail 在 ModelAdmin.get_admin_urls_for_registration() 中动态生成这些 URL和一些 helper ,比如 AdminURLHelper.get_action_url_name() .

关于python - 直接链接到 Wagtail modeladmin View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44124447/

相关文章:

django - Rietveld 是否与 App Engine 密不可分?

python - Wagtail:如何覆盖默认的 ImageEmbedHandler?

django - 使用在模型之后加载的表单自定义 Wagtail 编辑界面

python - Django通配符查询

python - 隐藏 pandas DataFrame 中的重复行

python - 如何用Python/Pandas减去2列未对齐的数据?

python - Django 登录错误 : "attempt to write a readonly database"

python - 如何在 Django 中动态地将参数从模板传递到 ListView?

django - values() 和 only() 的区别

python - Wagtail - 可以在迁移中重命名流场中的项目吗?