對於Forms和ModelForms的工作方式我有點困惑,我想在創建表單時基於字段值創建彩色按鈕。將外鍵值傳遞給Django中的Choice
{% for category in form.category %}
<label class="colored-icon btn btn-default btn-sm" style="background-color: {{ category.color }}">
{{ category.choice_label|slice:"1" }}
{{ category.tag }}
</label>
{% endfor %}
問題是,category.color
顯然沒有我需要的價值。
我的表單基於「交易」模型。我需要以某種方式訪問從 「類別」 的模式,它看起來像這樣的 「顏色」 屬性:
forms.py
class TransactionForm(forms.ModelForm):
class Meta:
model = Transaction
models.py
class Transaction(models.Model):
category = models.ForeignKey(Category, default='Unspecified')
class Category(models.Model):
color = models.CharField(max_length=10)
views.py
def index(request):
form = TransactionForm(request.POST)
new_transaction = form.save()
context = {
'form': form,
}
return render(request, 'index.html', context)
有什麼正確的方法來選擇並傳遞「category.color」給每個我正在創建的字段?
謝謝。
你如何保存'Transcation'對象?你能否顯示你的views.py? – torm
@torm,我添加了我的views.py文件內容 – iijaachok
你在哪裏渲染模板(從你的問題的頂部)? – torm