Djangoの管理パネルで、Djangoモデルのフォームページ(/ add/page)にハードコードされたリンクを追加するにはどうすればいいですか?これらは決して変更されないドキュメントへのリンクです。フィールドに入力する値を特定するための参照として、これらのリンクが毎回フォームに表示されるようにします。Djangoは、管理モデルのフォームビューページにハードコードされたhrefリンクを追加します
必要なもの:カスタムフィールド?内蔵フィールドはすでにですか?管理用テンプレートを何とか変更しますか?どこかでヘルパー関数を追加しますか?
私は「変更リスト」ビューを参照していません。モデル内のオブジェクトを追加または編集するときは、/change/
または/add/
ページビューを参照しています。
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']
私は学ぶほどのことがあります。あなたの時間と努力に感謝します。あなたの助言がうまくいったこのページへの私のローカルホストのリンクは 'http://127.0.0.1:8000/admin/scorecards/daterange/add /'です。パスが管理者と一致する必要があるため、すべてのネームスペースがchange_form.htmlに到達する理由は? – Jarad
私の理解では、他の人を妨害することなく、特定のモデル/アプリケーションの管理テンプレートを上書きできるように、管理テンプレートをアプリケーションとモデルで名前空間にすることができます(URLは「理由」です。たとえば、 'myapp'のすべてのモデルに対してこれらのリンクを表示したい場合、ファイルを' templates-dir/admin/myapp/change_form.html'に移動できます。 – whp