使用非硬编码网址匹配时,Django Project出错

时间:2018-04-20 09:19:51

标签: python django

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

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

我希望这会导致网址'experiment / 1',但会引发NoReverseMatch问题。

这是examples / urls.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。

1 个答案:

答案 0 :(得分:1)

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

在你的模板中使用它

相关问题