Django项目在使用非硬代码url匹配时出错

2024-05-26 17:44:23 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的django项目中,有两个应用程序名为“users”和“experiments”。在我试图使用的“用户”模板中:

<a href="{% url 'experiments:1' %}">list</a>

我希望这会导致url“experiments/1”,但是出现了NoReverseMatch问题

以下是experiments/url.py中的url配置:

from django.urls import path
from . import views

app_name = 'experiments'
urlpatterns = [
    path('<int:experimentId>', views.showExperiments, name='showExperiments'),
    ]

我是一个刚学django的人,我很努力,但没能找到答案。我不知道如何使用这个网址反向匹配时,它与正则表达式

以下是我对该url的看法:

def showExperiments(request, experimentId=0):
    if(experimentId != 0):
        experiment = Experiment.Objects.filter(experimentId=experimentId)

        return render(request, 'experiment/showExperiments.html', {
            'experimentName': experiment.experimentName,
            'experimentContent': experimentContent,
            'experiments': Experiment.Objects.all(),
            })
    else: 
        return render(request, 'experiment/showExperiments.html', {'experiments': Experiment.Objects.all()})

顺便说一下,django的版本是2.0


Tags: pathdjangonamefromimporturlreturnobjects

热门问题