使用 Django 2.2 正常工作的渲染函数使用 Django 3.1.3 渲染视图时出现问题
Issue while rendering view with Django 3.1.3 using render function that works fine with Django 2.2
#Django视图代码:
check Output here!!
def studiolist_page(request,*args,**kwargs):
studiomaster={'studio_master_key':StudioMaster.objects.all()}
studiolist_all=StudioDetails.objects.filter(studio_status=10)
city_query=request.GET.get("cty")
studio_type_query=request.GET.get("s_type")
genre_query=request.GET.get("gnre")
baseprice_query=request.GET.get("price")
studiolist={'studio_list_key':studiolist_all}
print(6)
x=len(studiolist.get('studio_list_key'))
if x==0:
y='Sorry!! No Studios Available Here !!'
else:
y=str(x)+' Fresh Studios Served !!'
messages.success(request,y)
return render(request,'studiomaster/studiocard_list.html',studiolist,studiomaster)
我也试过更改模板,看看它是否与 html 有问题,但结果是一样的,所以我认为这可能与视图处理本身有关。
令我惊讶的是,这在 Django 2.2 中运行良好,但在呈现时会在浏览器上加载 html 代码,因此正在调用模板,但加载有一些异常行为。
非常感谢任何帮助。
传递的上下文不正确,似乎 django 3.1 将其视为错误!
修改上下文并传递单个上下文字典解决了问题。
#Django视图代码: check Output here!!
def studiolist_page(request,*args,**kwargs):
studiomaster={'studio_master_key':StudioMaster.objects.all()}
studiolist_all=StudioDetails.objects.filter(studio_status=10)
city_query=request.GET.get("cty")
studio_type_query=request.GET.get("s_type")
genre_query=request.GET.get("gnre")
baseprice_query=request.GET.get("price")
studiolist={'studio_list_key':studiolist_all}
print(6)
x=len(studiolist.get('studio_list_key'))
if x==0:
y='Sorry!! No Studios Available Here !!'
else:
y=str(x)+' Fresh Studios Served !!'
messages.success(request,y)
return render(request,'studiomaster/studiocard_list.html',studiolist,studiomaster)
我也试过更改模板,看看它是否与 html 有问题,但结果是一样的,所以我认为这可能与视图处理本身有关。
令我惊讶的是,这在 Django 2.2 中运行良好,但在呈现时会在浏览器上加载 html 代码,因此正在调用模板,但加载有一些异常行为。
非常感谢任何帮助。
传递的上下文不正确,似乎 django 3.1 将其视为错误!
修改上下文并传递单个上下文字典解决了问题。