首页 > 解决方案 > 为什么 request.GET.get 不捕获这个参数?

问题描述

我正在开发一个 Django 应用程序,该应用程序有一个中心页面,其中包含多个指向多个功能的链接。为了跟踪链接,我制作了一个模板:xtodo.html 及其相应的视图:xtodo_view

    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>En construcción</title>
</head>
<h1 align="left">EN CONSTRUCCIÓN</h1>

<h1>
   <h1>{{pagref}}</h1>
<div>
    <img src="http://{{ request.META.HTTP_HOST }}/static/logos/Under_construction_icon-orange.svg.png" width="300"
         height="250" alt="UnderConstruction"/>
</div>
</body>
</html>

这就是视图

def xtodo_view(request):  # para pruebas, quitar
if request.method == 'GET':
    pagref = request.GET.get('pagref','g')
elif request.method == 'POST':
    pagref = request.POST.get('pagref','p')
return render(request, 'incid/xtodo.html', {'pagref': pagref})

必要时,我以这种方式对调用进行编码:

<a href="{% url 'incid:xtodo' %}?pagref='newincidencia'" type="button"
               class="btn btn-primary waves-effect"> Nueva incidencia</a>

或者

<li><a href=" {% url 'incid:xtodo' %}?pagref='perfil'"><i class="material-icons">person</i>Perfil</a>
                    </li>

希望会出现一个“正在建设”页面,指示我为链接指定的名称,但它仅适用于第一种情况 - 这是一个按钮 - 但不适用于其他仅仅是链接的情况。我错过了什么?

标签: htmldjangodjango-viewsdjango-templates

解决方案


推荐阅读