1

보기 및 템플릿 양식을 통해 장고 사용자를 사용자가 만든 그룹에 추가하고 싶습니다. 그룹을 만드는 것이 쉽습니다. 대량 사용자 (예 : [email protected], [email protected], [email protected] 등)를 그룹에 추가하는 방법을 만드는 데 문제가 있습니다. 사용자가 시스템에있는 경우 가입 할 메시지가 전송되고 존재하지 않으면 웹 사이트 및 그룹에 가입하라는 메시지가 표시됩니다. 난 당신이 요구하는지 이해한다면보기를 통해 이메일로 그룹에 사용자 추가 (쉼표로 구분할 수 있음)

답변

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) 
+0

감사합니다. sdornan 감사합니다. 그룹 (및 관련 객체)의 모든 사용자를 나열하는 방법을 파악한 후에 사용해 보겠습니다! – jmitchel3

+0

그룹의 모든 사용자를 얻는 것은 다음과 같습니다 : group = Group.objects.get (id = whatever) 그리고 users = group.user_set.all() – sdornan

+0

oh manytomany 필드를 사용하여 내 그룹을 만들었습니다. 각 사용자 유형에 대한 권한 (일부 사용자는 자신의 그룹을 만들 수 있지만 다른 사용자는 그룹을 만들 수 없음)으로 인해 – jmitchel3

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) 
관련 문제