Kullanıcıların, kayıt olduktan sonra profillerini oluşturabilmelerini ve düzenleyebilmelerini sağlamaya çalışıyorum. Bir model formu kullanıyorum. Yapmam gereken şey, işveren modeli alanının mevcut kullanıcıyla doldurulmasıdır. İşteMevcut Profil Nasıl Güncelleştirilir? Django Model Formu
def update_profile(request, username):
if request.method == 'POST':
edit_profile_form=EditProfileForm(request.POST)
if edit_profile_form.is_valid():
editprofile = edit_profile_form.save(commit=False)
editprofile.employer = request.user.get_profile()
editprofile.save()
edit_profile_form = EditProfileForm()
context = {'edit_profile_form':edit_profile_form,}
return render(request, 'pandaboard/editprofile.html', context)
benim modelidir:: İşte
benim görünümüdür İşte
class Profile(models.Model):
employer = models.ForeignKey(User)
company_name = models.CharField(max_length=100)
company_description = models.TextField()
company_website = models.URLField(max_length=200, blank=True)
contact_email = models.EmailField(max_length=100)
contact_name = models.CharField(max_length=100)
def __unicode__(self):
return self.company_name
benim Modeli Formu
from django.forms import ModelForm
from pandaboard.models import JobPost, Profile
from django.contrib.auth.models import User
class EditProfileForm(ModelForm):
class Meta:
model = Profile
fields = ['company_name','company_description','company_website','contact_email','contact_name']
EditProfileForm' bir ProfileForm için Profil mi? Lütfen form sınıfınızı gönderin. – Brandon
Tamam Model formumu ekledim –
Bir modeli güncelleştirirken, genellikle modeli modelden varolan verilerle önceden doldurmak için modelin bir örneğini form vereceksiniz. Yapman gereken şey bu mu? ya da bunu yapmak istemiyorsunuz ve bunun yerine mevcut kullanıcıyı forma enjekte etmeniz gerekiyor mu? – Brandon