0
我想添加在Django model_field的help_text
性質的鏈接,條款和條件,基本上我想編寫的代碼,如:反向鏈接help_text
class UserRegisterData(models.Model):
accepted_terms = models.BooleanField(
...
help_text = u""Terms and conditions are avilable on <a href="{reg}">this iste</a> stronie""".format(reg = reverse("terms"))
)
WHIS明顯失敗,因爲的URLconf措手不及而模型正在實例化。
我甚至嘗試來包裝SimpleLazyObject
help_test
,但它仍然沒有奏效。
我寧願不碰模板代碼。有沒有什麼辦法可以實現這一點,而不需要在字符串或設置中對網址進行硬編碼?
那麼它不工作,這是因爲:當作爲參數傳遞給'format' lazy_reverse結果仍然被評估,即使它沒有它仍然是因爲模型創建的Django期間評估調用'force_unicode'上'help_text'。 –
@jb。 'force_unicode'不應該成爲一個問題,因爲它可能會被稱爲足夠遲的時間:例如,您可以將延遲評估的翻譯放在幫助文本中。格式化確實是有問題,但我認爲它可以使用'django.utils.translation.string_concat',這基本上是一個懶惰的字符串連接(並會給你一個'unicode'字符串)來解決。 –
這確實是一個問題,在某些時候,我做了類似於: help_text = SimpleLazyObject(lambda:u「」「...」「」。format(reg = reverse(「terms」))) which which which在模型創建過程中被'force_unicode'評估,這是早期的。 –