2017-12-28 30 views
0

Djangoの管理パネルで、Djangoモデルのフォームページ(/ add/page)にハードコードされたリンクを追加するにはどうすればいいですか?これらは決して変更されないドキュメントへのリンクです。フィールドに入力する値を特定するための参照として、これらのリンクが毎回フォームに表示されるようにします。Djangoは、管理モデルのフォームビューページにハードコードされたhrefリンクを追加します

必要なもの:カスタムフィールド?内蔵フィールドはすでにですか?管理用テンプレートを何とか変更しますか?どこかでヘルパー関数を追加しますか?

私は「変更リスト」ビューを参照していません。モデル内のオブジェクトを追加または編集するときは、/change/または/add/ページビューを参照しています。

add links in Django admin model form

models.py

class DateRange(models.Model): 

    date_name = models.CharField(max_length=100) 
    adwords_name = models.CharField(max_length=100) 
    bingads_name = models.CharField(max_length=100) 

    def __str__(self): 
     return self.date_name 

forms.py

class DateRangeAdminForm(forms.ModelForm): 
    class Meta: 
     model = DateRange 
     fields = '__all__' 

admin.py

仕事ができる change_form.htmlを拡張
@admin.register(DateRange) 
class DateRangeAdmin(admin.ModelAdmin): 
    form = DateRangeAdminForm 
    list_display = ['date_name', 'adwords_name', 'bingads_name'] 

答えて

1

- 上部にリンクが追加されます。

{% extends "admin/change_form.html" %} 

{% block object-tools %} 
    {{ block.super }} 
    <ul> 
     <li> 
      <a href="https://link1.com">Adwords documentation</a> 
     </li> 
     <li> 
      <a href="https://link2.com">Bing ads documentation</a> 
     </li> 
    </ul> 
{% endblock object-tools %} 

関連ドキュメント:

https://docs.djangoproject.com/en/2.0/ref/contrib/admin/#overriding-admin-templates

https://docs.djangoproject.com/en/2.0/howto/overriding-templates/#overriding-from-an-app-s-template-directory

あなたの名前空間のテンプレートディレクトリにこのファイルを作成しますが、 "テンプレート-dirの"

templates-dir/admin/myapp/daterange/change_form.htmlとここで言います

+0

私は学ぶほどのことがあります。あなたの時間と努力に感謝します。あなたの助言がうまくいったこのページへの私のローカルホストのリンクは 'http://127.0.0.1:8000/admin/scorecards/daterange/add /'です。パスが管理者と一致する必要があるため、すべてのネームスペースがchange_form.htmlに到達する理由は? – Jarad

+0

私の理解では、他の人を妨害することなく、特定のモデル/アプリケーションの管理テンプレートを上書きできるように、管理テンプレートをアプリケーションとモデルで名前空間にすることができます(URLは「理由」です。たとえば、 'myapp'のすべてのモデルに対してこれらのリンクを表示したい場合、ファイルを' templates-dir/admin/myapp/change_form.html'に移動できます。 – whp

関連する問題