首页 > 解决方案 > 从 views.py 在 url 中传递变量

问题描述

通常在模板中传递变量时,您会这样做:

{% url 'sw_app:test_editor' code=mycode %}

但是,我怎样才能在我的 中做同样的事情views.py

我试过了:

def go_to_test_editor(code):
    return reverse('sw_app:test_editor', code)

说:

 No module named 'vQ6SMpo'
 # 'vQ6SMpo' is the code passed

和:

def go_to_test_editor(code):
    return reverse('sw_app:test_editor',code=code)

说:

reverse() got an unexpected keyword argument 'code'

我是 Django 的新手。非常感谢!

回溯错误:

Traceback (most recent call last):
  File "/Users/myuser/opt/anaconda3/envs/MyDjangoEnv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/Users/myuser/opt/anaconda3/envs/MyDjangoEnv/lib/python3.8/site-packages/django/utils/deprecation.py", line 116, in __call__
    response = self.process_response(request, response)
  File "/Users/myuser/opt/anaconda3/envs/MyDjangoEnv/lib/python3.8/site-packages/django/middleware/clickjacking.py", line 26, in process_response
    if response.get('X-Frame-Options') is not None:
AttributeError: 'str' object has no attribute 'get'

标签: pythondjangodjango-views

解决方案


你必须通过args喜欢reverse以下。

reverse('sw_app:test_editor', args=[code])

要了解更多信息,请访问文档


推荐阅读