比方說,我有兩個型號:在Django管理的change_form兩個型字段之間添加自定義HTML
class Book(models.Model):
name = models.CharField(max_length=50)
library = models.ForeignKeyField('Library')
class Library(models.Model):
name = models.CharField(max_length=50)
address = models.CharField(max_length=50)
tel = models.CharField(max_length=50)
有一個很好的方式,在名稱和地址之間添加一些HTML(只讀輸入字段)圖書館change_form模板?我正在重寫admin/includes/fieldset.html,但它變得混亂,我無法找到一種方法來顯示HTML完全在我想要的地方。例如,如果我想添加HTML顯示,該庫具有以下名稱字段竟被我做這個的書量:
{% for field in line %}
...
{% if field.field.name == 'name' %}
{{ field.field }}
<div class="form-row total_books">
<div>
<label for="total_books">Total books:</label>
<input type="text" maxlength="10" name="totbooks" id="totbooks" readonly="readonly">
</div>
</div>
{% else %}
{{ field.field }}
{% endif %}
...
{% endfor %}
新的解決方案:
我已經找到了一種更好的方式我想,但我不知道爲什麼我會收到此錯誤:「PresupuestoAdmin.readonly_fields 1,'name'不是可調用的或PresupuestoAdmin的屬性'或在模型'Presupuesto'中找到的」。看起來'name'字段沒有添加到管理員使用的表單中。
class FoooAdminForm(forms.ModelForm):
name = models.CharField(max_length=100)
class Meta:
model = Foo
class FooAdmin(admin.ModelAdmin):
form = FooAdminForm
fieldsets = (
(None, { 'fields': ('id', 'name', 'date')}),
)
readonly_fields = ('id', 'name')
admin.site.register(Foo, FooAdmin)
謝謝烏迪,我想我張貼的解決方案可能是更清潔。 – mfalcon 2011-06-08 13:52:03
我添加了一個更好的解決方案(http://stackoverflow.com/questions/6239966/add-custom-html-between-two-model-fields-in-django-admins-change-form/6343271#6343271).. (ahm ...我現在應該投我以前的答案嗎?) – Udi 2011-06-14 12:14:08