Bagaimana cara mendapatkan id form field di Django?

99

Apakah ada cara untuk mendapatkan id bidang di templat?

Di HTML saya mendapatkan: <input name="field_name" id="id_field_name"...

Saya tahu saya bisa mendapatkan nama dengan {{ field.html_name }}, tetapi apakah ada yang serupa untuk mendapatkan id?
Atau bisakah saya mendapatkannya seperti ini id_{{ field.html_name }}:?

pengguna182945
sumber

Jawaban:

170

Anda bisa mendapatkan ID seperti ini:

{{ field.auto_id }}
Will Hardy
sumber
1
bagaimana dengan nama field?
AJ
12
@Clayton{{ field.html_name }}
chucksash
23

Anda juga bisa menggunakan id_for_label:

{{ field.id_for_label }}
Eren Süleymanoğlu
sumber
11

Ini tidak berfungsi untuk setiap bidang formulir.

Misalnya {{ form.address.auto_id }}bekerja sementara {{ form.address.auto_name }}tidak mau.

Bagaimanapun Anda bisa menggunakan {{ form.address.html_name }}untuk mendapatkan jawaban yang setara.

Ini dokumentasinya

kkaehler
sumber
4
Saya pikir yang Anda maksud adalah Anda dapat menggunakan "auto_id" untuk id, tetapi Anda harus menggunakan "html_name" untuk namanya. Sayangnya saya menemukan jawaban Anda membingungkan mengingat pertanyaan itu.
Steve
Jawaban ini tidak berhasil untuk saya, dan jawaban Will di atas bekerja dengan sempurna. Saya mencobanya kembali dengan umpan balik instan.
eficker
1

Dalam Django 2 Anda dapat mengambil ID untuk bidang tertentu menggunakan {{ field.id_for_label }}

Ini didokumentasikan di sini .

LondonAppDev
sumber