首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我离开的时候,Django又在检查我的ListView

当我离开的时候,Django又在检查我的ListView
EN

Stack Overflow用户
提问于 2016-06-15 04:37:07
回答 2查看 30关注 0票数 0

我得到了两个视图,当我转到url( view1 )视图的模板时,视图1的模板工作得很好,但是,在该模板中,我有一个链接将我发送到url(view2),当我单击它时,浏览器会显示一个属于view1的错误。即使手动输入第二个url,它也会显示来自view1的错误。

浏览器Url

激活/?tpr=2104813和idpr=50

View1

代码语言:javascript
复制
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

代码语言:javascript
复制
{% 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 at /activation-2 int()参数必须是字符串或数字,而不是'NoneType‘

错误跟踪

代码语言:javascript
复制
257. if int(tokenProspect_v) != int(preRegist_qr[0]['token']):

第257行属于view1

编辑:--我忘了说:如果我手动为view1添加参数,它的工作方式就像如果django仍然在加载view1

激活-2?idState=5&tpr=2104813和idpr=50

EN

回答 2

Stack Overflow用户

发布于 2016-06-15 04:51:01

不确定如何与每个用户生成令牌,

在本例中,您的令牌为None,您正在尝试将其强制转换为int。

这可能是问题所在

票数 0
EN

Stack Overflow用户

发布于 2016-06-16 05:17:46

正如@Daniel所说,问题是在url模式的末尾,我没有用$终止第一个表达式,所以它必须是这样的:

代码语言:javascript
复制
urlpatterns = [ 
url(r'^activation$', Activation_vw.as_view(), name='activation'),
url(r'^activation-2/$', Activation2_vw.as_view(), name='activation-2')
]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37826249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档