Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.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命名组url中的NoReverseMatch异常_Python_Django_Django Views_Django Urls_Django 1.7 - Fatal编程技术网

Python django命名组url中的NoReverseMatch异常

Python django命名组url中的NoReverseMatch异常,python,django,django-views,django-urls,django-1.7,Python,Django,Django Views,Django Urls,Django 1.7,我是django的新手,玩URL的时候遇到了这个问题, 我在我的views.py中有一个视图,它将url反向到另一个视图 def index(request): username = request.session.get('username') if username is None: return HttpResponseRedirect(reverse('login_page')) #return HttpResponse("Testing view session

我是django的新手,玩URL的时候遇到了这个问题, 我在我的
views.py中有一个视图,它将url反向到另一个视图

def index(request):
  username = request.session.get('username')
  if username is None:
    return HttpResponseRedirect(reverse('login_page'))
    #return HttpResponse("Testing view session not found")
  else:
    return HttpResponseRedirect(reverse('profile_page', kwargs = {'username': username,}))
    #return HttpResponse("Testing view " + username)
现在代码将到达
else
块,因为
username
不是
None
,所以这里是我的URLconf

urlpatterns = patterns('',
    url(r'(?P<username>^)', views.profile, name = "profile_page"),)
urlpatterns=patterns(“”,
url(r'(?P^'),views.profile,name=“profile_page”),)
因此,简单地说,我正在调用使用命名参数用户名的
profile\u页面
url,我正在从
kwargs
传递相同的用户名,但我得到的是
NoReverseMatch
异常消息:

找不到参数为“()”且关键字参数为“{'username':'dheerendra'}”的“profile_page”的反转。已尝试1个模式:[“用户/(?P^)]


要构建
profile\u页面
URL,需要完整填写
用户名
。您正在调用
reverse('profile_page')
,但没有在kwargs中传递用户名。

两件事:

  • 您已经为url指定了一个命名组
    用户名
    ,但实际上还没有为命名组指定正则表达式。您希望您的
    用户名
    正则表达式匹配不同长度的用户名,因此需要:

    url(r'?p\w+/$”,views.profile,name=“profile\u page”),

    其中
    \w+
    是正则表达式

  • 第二,正如您将从上面的示例中看到的,您需要使用
    $
    终止正则表达式,以便像
    /myusername/otherstring/
    这样的URL不会被错误地匹配