2016-06-15 6 views
0

私は2つのビューを持っています。私はURL(view1)に行くとview1のテンプレートは完全に機能しますが、そのテンプレートではURL view2)、ブラウザをクリックするとview1に属するエラーが表示されます。手動で2番目のURLを入力しても、view1からのエラーが表示されます。Djangoは私がそれを残しているときにListViewをもう一度チェックしています

ブラウザのURL

活性化/?TPR = 2104813 & IDPR = 50

View1を

class Activation_vw(ListView): 
    queryset = STATE.objects.order_by('name') 
    context_object_name = 'states_list' 
    template_name = 'activation.html' 

    def get(self, request, *args, **kwargs): 
     self.object_list = self.get_queryset() 
     tokenProspect_v = request.GET.get('tpr') 
     idProspect_v = request.GET.get('idpr') 

     preRegist_qr = PRE_REGIST_USER.objects.filter(
      id=idProspect_v).values('id', 'email', 'token') 

     if int(tokenProspect_v) != int(preRegist_qr[0]['token']): 
      msg_v = (
       "Wrong URL") 
      error_v = True 
     else: 
      request.session['idProspecto'] = idProspecto_v 
      msg_v = "" 
      error_v = False 

     context = self.get_context_data(msg=msg_v, error=error_v) 
     return self.render_to_response(context) 

Template1を

{% if error %} 
    {{ msg | safe }} 
{% else %} 
    {% for state in states_list %} 
      <a href="activation-2?idState={{ state.id }}"> 
       <div>{{ state.name }} </div> 
      </a> 
    {% empty %} 
     <p>Empty list.</p> 
    {% endfor %} 
{% endif %} 

エラー

はTypeErrorに/活性化-2 INT()の引数が文字列または 数ではなく、 'NoneType'

エラートレースバック

なければなりません
257. if int(tokenProspect_v) != int(preRegist_qr[0]['token']): 

ライン257は、VIEW1に編集

を所属: 私が言うのを忘れ: 私は手動でVIEW1のパラメータを追加した場合DjangoはまだVIEW1に

活性化をロードしている場合、それはのように動作します-2?idState = 5 & TPR = 2104813 & IDPR = 50

答えて

0

あなたはすべてのユーザーを使用してトークンを生成する方法がわかりませんこの場合

あなたのトークンがNone、そしてあなたは、私は、問題は、URLパターンの終わりにあった、@Danielローズマンが言ったように、これは問題

+0

1つのトークンはすでにDBにあり、もう1つは変数としてURLに入っています。 view1、すべてが完璧に動作します。しかし、ブラウザでURLを変更してview2をロードしようとすると、ブラウザが代わりにview1をロードし続けるようになります。 – QUHO

+0

両方のビューのURLを表示できますか? –

+0

何が起こるのかわかりませんが、私はurlパターンで名前を変更しました。 URL: url(r '^ activation-2/$'、Activation2_vw。'名前を 'chooseState'と 'chooseCity'に変更しても動作します。 – QUHO

0

かもしれ

をintにキャストしようとしています

関連する問題