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



我目前使用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) 

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

search_overview函数中,t被设置为None

不能与字符串连接。

您可以尝试此作为快速修复,但它不能解决tick不在会话中的问题:

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

如果session中存在tick键,则返回该键的值,否则返回空字符串。可以连接到另一个字符串

最新更新