Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django会话不断返回';非类型';错误_Python_Django_Session_Django Sessions - Fatal编程技术网

Python Django会话不断返回';非类型';错误

Python Django会话不断返回';非类型';错误,python,django,session,django-sessions,Python,Django,Session,Django Sessions,我目前正在使用Django表单让用户输入信息,然后使用Django会话在我的views.py文件中调用其他视图函数。当前,我的表单在视图函数“search”中处理,并在后面的视图函数中使用会话调用。但是,当我在表格中输入数据并提交时,会出现以下错误: cannot concatenate 'str' and 'NoneType' objects 以下是我迄今为止的代码: def search(request): t = request.session.get("tick")

我目前正在使用Django表单让用户输入信息,然后使用Django会话在我的views.py文件中调用其他视图函数。当前,我的表单在视图函数“search”中处理,并在后面的视图函数中使用会话调用。但是,当我在表格中输入数据并提交时,会出现以下错误:

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) 
def搜索(请求):
t=request.session.get(“勾选”)
如果request.method==“POST”:
搜索=搜索(数据=请求.POST)
如果search.u有效():
成功=正确
ticker=search.cleaned_数据['search']
请求。会话[“勾选”]=代码
其他:
打印搜索错误
其他:
search=search()
def搜索_概述(请求):
结果={}
context=RequestContext(请求)
t=request.session.get(“勾选”)
sourceCode=urllib2.urlopen(“http://finance.yahoo.com/q/ks?s=“+t).读()
pbr=sourceCode.split('Price/Book(mrq):')[1]。split(“”)[0]
结果['pbr']=pbr
返回render_to_响应('ui/search.html',{“result”:result},上下文)

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

在您的
搜索概述
功能中,
t
设置为
None
。它不能与字符串连接

您可以尝试将此作为快速解决方案,但它无法解决
勾选
不在会话中的问题:

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

如果存在
会话
中的
勾号
键,则返回该键的值,否则返回空字符串。它可以连接到另一个字符串。

最有可能的问题是
t=request.session.get(“tick”)
返回一个
None
是的,我试过,
打印“t”
并返回
None
。我能做些什么来解决这个问题呢?如果勾号返回无,那么当您调用“ticker=search.cleaned_data['search']”时,就不能为ticker分配任何内容,所以我想说,看看是否有任何内容出现。