直接链接到Wagtail modeladmin视图

时间:2017-05-23 01:37:30

标签: python django wagtail

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

这是我的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')),
]

1 个答案:

答案 0 :(得分:5)

网址名称将采用以下格式,其中[action]indexcreateeditdelete,{{1}之一}或inspect

choose_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 %}

由于提供的URLConf不包含{% url 'directory_organisation_modeladmin_choose_parent' %}的命名空间,因此不需要命名空间。

与Django的内置管理员类似,Wagtail在ModelAdmin.get_admin_urls_for_registration()中动态生成这些网址,其中包含AdminURLHelper.get_action_url_name()等帮助程序。