我得到兩個視圖,當我去url(view1)view1的模板完美工作,但是,在該模板中,我有一個鏈接發送給我的URL view2),當我點擊它時,瀏覽器會顯示屬於view1的錯誤。即使我手動輸入第二個網址,它也會向我顯示view1中的錯誤。當我離開它時,Django再次檢查我的ListView
瀏覽器URL
激活/?TPR = 2104813 & IDPR = 50
視圖1
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)
模板1
{% 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 %}
錯誤
類型錯誤在/活化-2 INT()參數必須是字符串或 數目,不是 'NoneType'
錯誤回溯
257. if int(tokenProspect_v) != int(preRegist_qr[0]['token']):
線257所屬的廠景
編輯: 我忘了說: 如果我手動添加參數的廠景,它的工作原理一樣,如果Django是仍在加載的廠景
激活-2?idState = 5 & TPR = 2104813 & IDPR = 50
一個令牌已經在DB和otherone是在url作爲一個變量,當我加載的URL view1,一切正常。但是,當我嘗試加載view2在瀏覽器中更改url時,就像瀏覽器不斷加載view1。 – QUHO
你可以展示你的兩個視圖的網址嗎? –
我不知道會發生什麼,但我更改了urlpatterns的名稱,現在它可以正常工作。 這就像: urlpatterns = url(r'^ activation',Activation_vw.as_view(),name ='activation'),url(r'^ activation-2/$',Activation2_vw。as_view(),name ='activation-2')]' 我將它們的名稱更改爲'chooseState'和'chooseCity',它的工作原理 – QUHO