How to add custom headers to django form fields?
I want to add my own title to a django form field like this image.
My models.py file
from django.db import models
from django.contrib.auth.models import User
from django.urls import reverse
class Post(models.Model):
ad_soyad=models.CharField(max_length=255, default="")
tarih=models.CharField(max_length=255, default="")
dogum_tarihi=models.CharField(max_length=255, default="")
dogum_yeri=models.CharField(max_length=255, default="")
medeni_hali=models.CharField(max_length=255, default="")
birinci_evlilik=models.CharField(max_length=255, default="")
ikinci_evlilik=models.CharField(max_length=255, default="")
bosanma_tarihi=models.CharField(max_length=255, default="")
ogrenim_durumu=models.CharField(max_length=255, default="")
meslek=models.CharField(max_length=255, default="")
kan_grubu=models.CharField(max_length=255, default="")
boy=models.CharField(max_length=255, default="")
kilo=models.CharField(max_length=255, default="")
max_kilo=models.CharField(max_length=255, default="")
max_kilo_tarih=models.CharField(max_length=255, default="")
author=models.ForeignKey(User, on_delete=models.CASCADE)
body=models.TextField()
def __str__(self):
return self.title '|' str(self.author)
def get_absolute_url(self):
# return reverse('article-detail', args=(str(self.id))) bu kod olursa yaz? ekledikten sonra o eklenen yaz?ya gidiyor
return reverse('home')
and my forms.py file
from django import forms
from.models import Post
class PostForm(forms.ModelForm):
class Meta:
model=Post
fields='__all__'
#field=('title', 'author')
widgets={
'title': forms.TextInput(attrs={'class': 'form-control'}) ,
'author': forms.Select(attrs={'class': 'form-control'}) ,
'body': forms.Textarea(attrs={'class': 'form-control'}) ,
'ad_soyad': forms.TextInput(attrs={'class': 'form-control'}) ,
'tarih': forms.TextInput(attrs={'class': 'form-control'}) ,
'dogum_tarihi': forms.TextInput(attrs={'class': 'form-control'}) ,
'dogum_yeri': forms.TextInput(attrs={'class': 'form-control'}) ,
'medeni_hali': forms.TextInput(attrs={'class': 'form-control'}) ,
'birinci_evlilik': forms.TextInput(attrs={'class': 'form-control'}) ,
'ikinci_evlilik': forms.TextInput(attrs={'class': 'form-control'}) ,
'bosanma_tarihi': forms.TextInput(attrs={'class': 'form-control'}) ,
'ogrenim_durumu': forms.TextInput(attrs={'class': 'form-control'}),
'meslek': forms.TextInput(attrs={'class': 'form-control'}) ,
'kan_grubu': forms.TextInput(attrs={'class': 'form-control'}) ,
'boy': forms.TextInput(attrs={'class': 'form-control'}) ,
'kilo': forms.TextInput(attrs={'class': 'form-control'}) ,
'max_kilo': forms.TextInput(attrs={'class': 'form-control'}) ,
'max_kilo_tarih': forms.TextInput(attrs={'class': 'form-control'}) ,
}
uj5u.com enthusiastic netizens replied:
You can use model level so use [Django-doc]for this modelall s Do this: ModelForm
verbose_name=…
class Post(models.Model):
# …,
dogum_yeri=models.CharField(verbose_name='Do?um Tarihi', max_length=255, default="")
# …
You can also specify labels
PropertiesMeta
, ModelForm
In this case, of course this tag only applies the specific form, while for ModelForm
the same model Others, you will have to repeat the markup:
class PostForm(forms.ModelForm):
class Meta:
model=Post
fields='__all__'
widgets={
# …
}
labels={
'dogum_yeri': 'Do?um Tarihi'
}
I recommend using verbose_name
, and only if the form needs to deviate, labels
For specificModelForm
.
uj5u.com enthusiastic netizens replied:
I finally found the answer to add this code to forms.py
labels={
'ad_soyad': ('Ad Soyad'),
'dogum_tarihi': ('Do?um Tarihi'),
}
0 Comments