2017-05-23 7 views
0

私は正常にWagtailのwagtail.contrib.modeladminを使用して、通常のDjangoモデルをWagtailの管理者から編集できるようにしています。私は、テンプレートからmodeladminの "create"と "edit"ビューにハイパーリンクする必要があります。これらのビューを参照するために使用できるURL「名前」は何ですか? wagtail.contrib.adminにはurlsモジュールがありませんが、これに関するドキュメントはありません。Wagtailのmodeladminビューに直接リンクする

は、ここに私の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')), 
] 

答えて

2

URL名は[action]indexの1、createeditであるとして、次の形式のものであろう、 delete,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 %}
  • {% url 'directory_organisation_modeladmin_choose_parent' %}

提供されたURLConfにはinclude()という名前空間アラインメントが含まれていないため、名前空間は必要ありません。

Dagangoに組み込まれている管理者と同様に、Wagtailは、のようなヘルパーでModelAdmin.get_admin_urls_for_registration()にこれらのURLを動的に生成します。

関連する問題