如何通过 url 将变量从 html 模板传递到 django 中的查看方法

how to pass variable from html template to view method in django via url

我想将一个变量从 html 模板传递到我在 django 中的视图方法,以便我可以在 python 视图方法中使用它。

下面是我的 html 代码:

<li><a href="{%url 'Automation:rollbackAAI' router_hostname %}">Rollback</a>

我的URL映射:

url(r'rollbackAAI/(?P<router_name>[a-z]+)$',views.rollbackAAI, name='rollbackAAI'),

我的views.py:

def rollbackAAI(request, router_name = None, *args, **kwargs):
    print (router_name)

但是在加载 html 模板时出现 NoReserveMatch 错误:

Reverse for 'rollbackAAI' with arguments '('a2router',)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['vpesat/rollbackAAI/(?P<router_name>[a-z]+)$']

您的路由器名称中有一个数字,与您的正则表达式不匹配。您可能应该使用 \w,它匹配所有字母数字字符。

r'rollbackAAI/(?P<router_name>\w+)$'