0

私はdjangoを初めて使用し、シンプルで標準的なログイン設定を作成しようとしています。

私はdjango-registraionを使用します(著者は自分の努力を明確に文書化する方法を知らないため、しぶしぶです...)

とにかく、簡単な「プロフィールの編集」ページを設定する方法を考えていました。以前に尋ねた同様の質問で、django チュートリアル (役に立たない) を読むように指示され、認証コンポーネントがこの機能を提供することを伝えました (ただし、ドコがそのための場所ではありませんでした)。

乾杯。

4

1 に答える 1

1

ゼロからやりたい方。UserProfile モデルがあると仮定すると、これを行う 1 つの方法は、django フォームを使用することです。たとえば、

class UserProfile(models.Model):
    user = models.ForeignKey(User, unique=True)

    name = models.CharField(max_length=60 , blank=True, null=True )
    gender = models.SmallIntegerField(choices=SEX_CHOICES, blank=True, null=True)

    bio  = models.TextField() 

次に、必要に応じてユーザープロファイルフォームを実装する必要があります(生活が楽になります)。

class UserProfileForm(forms.ModelForm):

    class Meta:
        model = UserProfile
        exclude = ('user') #you dont want anybody seeing this :)

ModelForm は、ユーザーがデータベースに反映される詳細を変更する権限を持っているためです。

次に、プロファイルを更新するためのビュー関数を作成します。ここから始めましょう。

def edit_profile(request):
    view_kwargs = {
        'model': UserProfile, 
        'form_class': UserProfileForm,
        'success_url': "/path/to/success",
        ),
        'template_name': "/path/to/edit_profile.html",
    }

    user_profile, created = UserProfile.objects.get_or_create(user_id=request.user)


     #TODO

他のすべてが失敗した場合は、スタンドアロン アプリケーションである django-profiles をいつでも使用できます

于 2012-04-27T16:55:29.340 に答える