Django句柄可选的url参数

2024-10-04 09:30:41 发布

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

我希望url有可选的url参数。主url为:

url(r'^(?P<letnik_id>[1-4])/(?P<classes_id>[A-G])/(?P<subject_id>[\w\-]+)$', views.subject, name="subject_id"),

但在subject id之后,我希望能够添加可选参数,该参数始终是一个数字:

^{pr2}$

我甚至不确定这是否正确,因为我不知道如何设置参数的数字。所以在参数被传递之后,我想要(模板?)或者查看读取数字(模型的ID号)并向该模型添加css类.highlited-model {background-color: red;}。 我将如何实现这一点,我应该如何在视图或模板中处理它,无论它在哪里更有意义?在


Tags: name模型模板idurl参数数字css
1条回答
网友
1楼 · 发布于 2024-10-04 09:30:41

我想你可以有两个指向同一视图的URL,一个带有可选参数,另一个没有:

urls = [
    url(r'^(?P<letnik_id>[1-4])/(?P<classes_id>[A-G])/(?P<subject_id>[\w\-]+)/(?P<digit>\d+)/$', views.subject, name="subject_id_optional"),
    url(r'^(?P<letnik_id>[1-4])/(?P<classes_id>[A-G])/(?P<subject_id>[\w\-]+)$', views.subject, name="subject_id"),

]

def subject(request, optional_parameter=''):

    return render(
        request,
        "template.html",
        {
            "optional_parameter": optional_parameter
        }
    )

然后,您可以像将任何其他变量传递到上下文中一样获取模板中的参数。在

相关问题 更多 >