2016-12-25 15 views
2

私はSMSアプリケーションをDjangoフォームと完全に連携させています。私はsqliteテーブル "Employees"を持っていて、各従業員は "dcare"、 "admin"、 "recreation"のいずれかの関係を持っています。私のフォームでは、ラジオボタンを使用してこれらの関係の1つを選択し、そのメッセージがその従業員に送信されます...問題はありません。問題は、ラジオボタンから複数選択ウィジェットに切り替えたときです。フォーム選択に基づいて各グループにSMSを送信

「適切な言語/構文を見つけるのに問題があります。選択したグループごとに、そのグループの各人にSMSを送信してください」

Views.pyはcd['togroup']を仮定

enter image description here

def contact(request): 
    if not request.user.is_authenticated(): 
     return HttpResponseRedirect('/') 
    else: 
     if request.method == 'POST': 
      form = ContactForm(request.POST) 
      if form.is_valid(): 
       cd = form.cleaned_data 
       client = twilio.rest.TwilioRestClient('xxxx', 'xxxx') 

       recipients = employees.objects.filter(group__contains=cd['togroup']) 
       #check to see which group is selected 
       if cd['togroup'] != "everyone": 
        for recipient in recipients: 
        client.messages.create(body=cd['message'],to=recipient.phone_number, from_='+xx') 

       return HttpResponseRedirect('/contact/thanks/') 
      else: 
       #if "everyone" is selected, change recips to all 
       recipients = employees.objects.all() 
       for recipient in recipients: 
        client.messages.create(body=cd['message'], to=recipient.phone_number, from_='+xxxx') 
       return HttpResponseRedirect('/contact/thanks/') 
     else: 
      form = ContactForm() 
     return render(request, 'contact_form.html', {'form': 
form}) 

答えて

1

下に例えば選択の選択肢の配列を返します['dcare', 'recreation']。あなたの流れから(選択したグループごとに、そのグループの各人にSMSを送ってください)、私はやります:

for to_group in cd['togroup']: 
    recipients = employees.objects.filter(group=to_group) 
    for recipient in recipients: 
     client.messages.create(body=cd['message'],to=recipient.phone_number, from_='+xx') 
関連する問題