Normal Django Formları kullanırken kendi özel hata iletilerini nasıl ayarlayacağımı biliyorum. Ancak mevcut bir modele dayanan Django Formu ne olacak? model ve formda aşağıdaki düşünün:Django, Modeller ve Formlar: "Bu alan gereklidir" iletisini değiştir
Class MyModel(models.Model):
name = models.CharField(max_length='30')
Class MyForm(forms.ModelForm):
Class Meta:
model = MyModel
Ben mesajı böyle bir form oluşturmak ve bunu yayınlamayı denerseniz "Bu alan gereklidir" belirir. Ama nasıl değiştirilir? Tabii ki böyle bir şey yapabileceğini:
Class MyForm(forms.ModelForm):
model = forms.CharField(error_messages = {'required': "something..."})
Class Meta:
model = MyModel
Ama belgelere göre, max_length nitelik korunmaz ve form tanımını açıkça yazmak zorunda. Model Formların amacının aynı kodu iki kez yazmamaktan kaçınacağını düşündüm. Yani tüm formu yeniden yazmadan özel hata mesajını değiştirmenin kolay bir yolu olmalı. Mesajım "Alan adı" gerekli "gibi görünüyorsa temel olarak benim için yeterli olacaktır.
LütfenYardım edin.
Teşekkür ederim, bu iyi görünüyor. Ancak, aynı kodu iki kez yazmayı, ancak aslında daha uzun ve çirkin olan başka bir kod yazmayı ihmal etmediğinizi hissettim;) Yine de, en azından büyük formlarda bazı çalışmalarda bulunacaksınız, tekrar teşekkürler. – tobik
Sanırım her biri kendi başına. Tüm 'gerekli' mesajları değiştirmeniz gerekiyorsa, bu şimdiye kadar en temiz olanıdır. Genelde her şeyde kullandığım __init__ aramasını saymazsanız, daha uzun olduğunu düşünmüyorum. –
Eğer bir "geçersiz" hata ve don alırsanız [bir gizemli 'KeyError'] (http://stackoverflow.com/questions/7463159/django-form-is-valid-keeps-throwing-keyerror) alacağınızı unutmayın. Bunun için bir mesaj ver. –