我使用django-registration進行註冊和登錄。我的Models
和Forms.py
工作正常。問題是我想存儲當前登錄用戶的id
中的的user
場以下Model
:想要獲取當前登錄用戶的ID(使用django註冊)
MALE = 1
FEMALE = 2
SEX_CHOICES = (
(MALE,'Male'),
(FEMALE,'Female'),
)
class UserProfile(models.Model):
#user = models.IntegerField() # update : Changed to ForeignKey.
user = models.ForeignKey(User)
gender = models.IntegerField(choices = SEX_CHOICES,null=True, blank=True)
zip_code = models.CharField(max_length=100,null=True, blank=True)
language = models.ManyToManyField(Category)
我ModelForm
:
class UserProfileForm(forms.ModelForm):
class Meta:
model = UserProfile
widgets = {'language': forms.CheckboxSelectMultiple}
更新2:這是我的view
:
def some_view(request):
if request.method == 'POST':
form = UserProfileForm(request.POST)
if form.is_valid():
form.save()
else:
form = UserProfileForm()
更新:我可以使用模板中的{{ user.id }}
當前登錄用戶。但現在如何將此id
傳遞給user field
?
那麼,你可以通過[django.http.HttpRequest]實例訪問當前用戶(https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.user )在視圖中可用的類(通常作爲標準函數視圖名爲'request'的參數,或者在基於類的視圖的'self.request'屬性中找到)。它的工作原理是 – 2011-12-17 14:31:37