当我试图在post方法中传递上下文时,它工作并在前端显示内容,但当我试图在get方法中传递上下文时,它不起作用。我正在尝试根据过滤器更改视图。
我的观点
def testing_view(request):
context={'test':43}
if request.GET:
flag=request.GET.get('flag')
value=request.GET.get('testing_value')
print('&&&&&&&&&&&&&&&&&&&&','get initialized')
if flag:
context['obj']=value
context['test']=1
print('&&&&&&&&&&&&&&&&&&&&','obj',context)
return render(request, 'testing.html', context)
print('&&&&&&&&&&&','exit1')
return render(request, 'testing.html', context)
print('&&&&&&&&&&&','exit2')
return render(request, 'testing.html', context)
我js
function display_value(src)
{
testing_value=src.value
console.log("hi it working",testing_value)
url='/test?testing_value='+testing_value+'&flag='+1
fetch(url,{
method: 'GET',//get
}
)
}
我的模板<body>
<div >
<p>Please select your age:</p>
<input type="radio" id="age1" name="age" value="4" onchange="display_value(this)">
<label for="age1">4</label><br>
<input type="radio" id="age2" name="age" value="5" onchange="display_value(this)">
<label for="age2">5</label><br>
</div>
<div>
{{ test }}
{{ obj }}
</div>
我的输出
06/Jun/2022 17:49:25] "GET /favicon.ico HTTP/1.1" 404 2508
&&&&&&&&&&&&&&&&&&&& get initialized
&&&&&&&&&&&&&&&&&&&& obj {'test': 1, 'obj': '4'}
[06/Jun/2022 17:49:27] "GET /test/?testing_value=4&flag=1 HTTP/1.1" 200 682
&&&&&&&&&&&&&&&&&&&& get initialized
&&&&&&&&&&&&&&&&&&&& obj {'test': 1, 'obj': '5'}
[06/Jun/2022 17:49:31] "GET /test/?testing_value=5&flag=1 HTTP/1.1" 200 682
上下文中的obj和test变量没有更新
输入图片描述
flag实际上是从请求中提取任何东西吗?
你有chapter_flag_list =[]吗?
我的猜测是flag = "来自请求,那么你的if语句没有被触发,你的列表保持空