1

ビューとテンプレート フォームを使用して、ユーザーが作成したグループに Django のユーザーを追加できるようにしたいと考えています。グループの作成は簡単ですが、グループに大量のユーザー (このようなものemail1@email.com, email2@email.com, email203920492@email.comなど) を追加する方法を作成するのに問題があります。ユーザーがシステムに存在する場合は、参加するようメッセージが送信され、存在しない場合は、Web サイトとグループに参加するよう招待するメッセージが送信されます。

4

2 に答える 2

0

あなたが何を求めているのか理解できれば...

メールのリストがある場合は、メールのリストをループして、ユーザーを各メールに割り当てます。

for email in emails:
    try:
        user = User.objects.get(email=email)
    except User.DoesNotExist:
        # A user doesn't exist with that email address, so send the invitation email

    # The user exists, so send them an email with a link to a view that lets them join    the group

ビューでは、現在ログインしているユーザーがリンクにアクセスしたときに、次のようにグループに追加します。

request.user.groups.add(group)
于 2012-09-26T20:44:32.357 に答える
0

これが部分的な答えです-これはテマプレートの電子メールフォームからユーザーを返すか作成します(form modelこれも下にあります)。私はまだ彼らに招待リンクまたはグループリンクへの「承諾」を電子メールで送る方法を理解する必要があります。提案をいただければ幸いです。

@login_required
def community(request):
    places = Community.objects.filter(manager=request.user).order_by('id')
    form = EmailAddForm(request.POST or None)

    if form.is_valid():
        emails = form.cleaned_data['emails'].split(',') # this allows you to enter multiple email addresses in the form and separated by comma
        for email in emails:
            try:
                user = User.objects.get(email=email)
            except User.DoesNotExist:
                user = User.objects.get_or_create(email=email, username=email)
        print user #to check that it's working in console


    return render_to_response('community.html', locals(), context_instance=RequestContext(request))

#forms.py
class EmailAddForm(forms.Form):
    emails = forms.CharField(widget=forms.Textarea)
于 2012-09-26T23:33:35.667 に答える