1

我创建了一个接受 3 个参数的视图,但在主页中出现以下错误。未找到参数“(5,)”的“evolucion_paciente”的反向。尝试了 1 种模式:['evolucion_paciente/(?P[0-9]+)/(?P[0-9]+)$']

Project/views.py——我的观点之一

def VerEvoluciones(request, id):
    if request.method == 'GET':
        paciente = Paciente.objects.get(id= id)
        evoluciones = Evolucion.objects.filter(paciente= id).order_by('-fechaEvolucion')
        evolucionForm = EvolucionForm()
    else:
        return redirect('index')

    return render(request, 'evoluciones.html', {'evolucionForm': evolucionForm, "Evoluciones": evoluciones, "Paciente": paciente})

另一种观点,以及我遇到问题的观点

def VerEvolucion(request, id, id_e):
    evolucionForm= None
    evolucion= None
    try:
        if request.method == 'GET':
            paciente = Paciente.objects.get(id= id)
            evolucion = Evolucion.objects.filter(paciente= id).get(id= id_e)
            evolucionForm = EvolucionForm(instance= evolucion)
        else:
            return redirect('index')
    except ObjectDoesNotExist as e:
        error = e
    return render(request, 'evolucion.html', {'evolucionForm': evolucionForm,
                                                    'Evolucion': evolucion,
                                                    'Paciente': paciente,
                                                    'Ver': True})

在我的模板中,我需要将我从第一视图重定向到第二视图的链接

<a href="{% url 'evolucion_paciente' evolucion.id %}" class="btn btn-warning">Ver</a>
4

1 回答 1

2

正如错误所说,您定义了一个 url 模式,如:

evolucion_paciente/(?P<id>[0-9]+)/(?P<id_e>[0-9]+)$

所以你需要传递两个参数,一个 forid和一个 for id_e。但是在你的 中{% url … %},你只通过了一个:

{% url 'evolucion_paciente' evolucion.id %}

你需要通过一个额外的:

<a href="{% url 'evolucion_paciente' value-for-id evolucion.id %}" class="btn btn-warning">Ver</a>

您需要在其中value-for-id填写id. 大概是这样的:

<a href="{% url 'evolucion_paciente' evolucion.paciente.id evolucion.id %}" class="btn btn-warning">Ver</a>
于 2020-05-02T09:36:41.597 回答