등록 및 로그인 목적으로 django-registration을 사용하고 있습니다. 내 Models
및 Forms.py
이 정상적으로 작동합니다.현재 로그인 한 사용자의 ID를 가져오고 싶습니다 (장고 등록 사용)
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 :
def some_view(request):
if request.method == 'POST':
form = UserProfileForm(request.POST)
if form.is_valid():
form.save()
else:
form = UserProfileForm()
: 여기 내
view
인 문제는
Model
다음 현재 로그온 한 사용자의
id
의
user
분야에서 내가 저장할입니다
업데이트 : 템플릿에 {{ user.id }}
을 (를) 사용하여 현재 로그인 한 사용자를 얻을 수 있습니다. 하지만 지금은 id
을 user field
에 어떻게 전달합니까?
글쎄, [django.http.HttpRequest] (https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.user) 인스턴스를 통해 현재 사용자에게 액세스 할 수 있습니다.) 클래스는 뷰에서 사용 가능하며 (보통 표준 함수 뷰의 경우'request'라는 이름의 인자로 사용되거나 클래스 기반 뷰의 경우'self.request' 속성에서 찾을 수 있습니다). –