Django会话不断返回' NoneType'错误

时间:2014-06-05 18:00:59

标签: python django session django-sessions

我目前正在使用Django表单让用户输入信息,然后我使用Django会话来调用views.py文件中的其他视图函数。目前,我的表单在视图函数“搜索”中处理,并在后面的视图函数中使用会话进行调用。但是,当我将数据输入表单并提交时,我收到错误:

cannot concatenate 'str' and 'NoneType' objects

到目前为止,这是我的代码:

def search(request):
    t = request.session.get("tick")

    if request.method == 'POST':
        search = Search(data=request.POST)

        if search.is_valid():
            success = True
            ticker = search.cleaned_data['search']
            request.session["tick"] = ticker
        else:
            print search.errors
    else:
        search = Search()



def search_overview(request):
    result = {}

    context = RequestContext(request) 

    t = request.session.get("tick")

    sourceCode = urllib2.urlopen("http://finance.yahoo.com/q/ks?s="+t).read()

    pbr = sourceCode.split('Price/Book (mrq):</td><td class="yfnc_tabledata1">')[1].split('</td>')[0]
    result['pbr'] = pbr

    return render_to_response('ui/search.html', {"result":result}, context) 

任何人对我如何解决这个问题都有任何想法,以便我可以使用会话来存储不同视图函数中的数据?感谢。

1 个答案:

答案 0 :(得分:0)

search_overview功能中,t设置为None。哪个不能与字符串连接。

您可以尝试将此作为快速解决方案,但它无法解决tick未进入会话的问题:

t = request.session.get('tick', '')

如果它存在,则返回ticksession键的值,否则返回空字符串。哪个可以连接到另一个字符串。