Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django:reverse()找不到给定args/kwargs的视图_Python_Django - Fatal编程技术网

Python Django:reverse()找不到给定args/kwargs的视图

Python Django:reverse()找不到给定args/kwargs的视图,python,django,Python,Django,有几个帖子与我的问题有关。但是,似乎没有一个解决以下问题: 我在myapp/url.py中定义了URL: app_name = "myapp" urlpatterns=[ url(r'^$', views.index, name="index"), url(r'^adduser/$', views.addUser, name="adduser"), ] 以及myapp/views.py中的相应视图: def index(request, status_msg=None,

有几个帖子与我的问题有关。但是,似乎没有一个解决以下问题:

我在myapp/url.py中定义了URL:

app_name = "myapp"
urlpatterns=[
    url(r'^$', views.index, name="index"),
    url(r'^adduser/$', views.addUser, name="adduser"),
    ]
以及myapp/views.py中的相应视图:

def index(request, status_msg=None, error_msg=None):
    return HttpResponse(render(request, "myapp/index.html", 
                               context={"error_message":error_msg, "status_message":status_msg})) 

def addUser(request):
    try:
        uname=request.POST["user_name"]
    except KeyError:
        url = reverse("myapp:index", args=(None, "No user name specified."))
        return HttpResponseRedirect(url)
    # ... adding user to db ...
    url = reverse("myapp:index", args=("Added user '%s'"%uname,))
    return HttpResponseRedirect(url)
将参数从addUser中的重定向传递到索引的任何一种变体都会产生类似的错误

Reverse for 'index' with arguments '(None, u'No user name specified.')' not found. 1 pattern(s) tried: [u'myapp/$']
我不明白我做错了什么。似乎找到了索引视图,但未识别该视图以允许请求之外的任何参数

使用kwargs而不是args也没有帮助


非常感谢您的任何建议。已经谢谢你了

您的URL似乎不支持参数,即正则表达式中捕获的组。因此,您应该只使用:

reverse("myapp:index")

检查文档中的反向函数。

但是索引URL不带任何参数。为什么你要传递一些?即使传递了,没有指定用户名也不是你会在URL中传递的那种东西。我似乎有一些误解。因此,如果url不应该捕获任何arg或kwarg,则无法将它们传递给视图?您知道,在addUser之后,我想返回索引并显示相应的消息。在执行简单的HttpResponseRedirectorReverseMyApp:index之前直接编辑请求的POST字典是否合理,并在index中添加一些代码以检查这些POST值是否存在?如果不希望在URL中传递数据,希望数据从何而来?重定向是指向浏览器请求新URL的指令。视图的参数仅来自URL。如果您想在请求之间传递其他信息,请使用会话。谢谢您的建议。那么,您将如何将消息传递回索引?一种方法是使用“我将对此进行研究”。谢谢