0

django-rest-auth を使用して、angularJS アプリから django にデータを渡そうとしています。

私のコンソールでは、データが正しく到達していることを確認できます (特に「性別」と「ヨブ」)。

ただし、「cleaned_data」が呼び出された後、データが私のdjangoユーザーモデルに収まらないようです

注 - 2 つのユーザー モデルをセットアップしました (1 つは標準の django ユーザー テーブルで、もう 1 つは models.py で作成したユーザー テーブルです)。

from allauth.account.adapter import DefaultAccountAdapter  # refer to allauth.account.adapter
from stashd.models import User, AccountProfile
import datetime, json


class MyAccountAdapter(DefaultAccountAdapter):

    def save_user(self, request, user, form, commit=True):

        system_account = super(StashdAccountAdapter, self).save_user(request, user, form, commit)
        print form
## Print form shows all the data, but the cleaned_data get's rid of it
        data = form.cleaned_data
        first_name = data.get('first_name')
        username = data.get('username')
        last_name = data.get('last_name')
        email = data.get('email')
        # gender = data.get('gender')
        # yob = data.get('yob') 
        # dob = datetime.date(int(yob), 1, 1)
        info = {}
        # for k, v in [('first', username), ('first', first_name), ('last', last_name), ('email', email)]:
        #     if v:
        #         info[k] = v
        for k, v in [('email', email)]: #,('dob',dob),('gender',gender)
            if v:
                info[k] = v

        user = User(**info)
        user.save()

        AccountProfile(user=user, account=system_account).save()

        return system_account
4

2 に答える 2

0

フォームを呼び出しform.is_valid()て、cleaned_data を入力する必要があります

于 2016-03-21T03:14:15.487 に答える