Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/312.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/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的NoReverseMatch_Python_Django - Fatal编程技术网

Python django的NoReverseMatch

Python django的NoReverseMatch,python,django,Python,Django,要么我的项目中有一个奇怪的URL错误,要么我遗漏了什么 我想获得配置文件ID并在名为“profile.html”的模板中显示信息。很简单,不是吗 但每次我调用这个“配置文件url”时,都会出现NoReverseMatch错误 我的url.py: from django.conf.urls import url, include from django.contrib import admin from sugar import views urlpatterns = [ url(r'^

要么我的项目中有一个奇怪的URL错误,要么我遗漏了什么

我想获得配置文件ID并在名为“profile.html”的模板中显示信息。很简单,不是吗

但每次我调用这个“配置文件url”时,都会出现NoReverseMatch错误

我的
url.py

from django.conf.urls import url, include
from django.contrib import admin
from sugar import views

urlpatterns = [
    url(r'^area51/', admin.site.urls),
    url(r'^search/', views.search, name="search"),
    url(r'^terms/', views.terms, name="terms"),
    url(r'^thanks/', views.thanks, name="thanks"),
    url(r'^create_user/', views.create_user, name="create_user"),
    url(r'^profile_edit/', views.profile_edit, name="profile_edit"),
    url(r'^upload_photos/', views.photo_upload, name="photo_upload"),
    url(r'^recover/', views.recover_account, name="recover"),
    url(r'^login/', views.log_user_in, name="login"),
    url(r'^logout/', views.log_user_out, name="logout"),
    url(r'^register/', views.register, name="register"),
    url(r'^profile/(?P<sugarid>\d+)/$', views.profile, name="profile"),
    url(r'^payment/', views.payment, name="payment"),
    url(r'^home', views.home, name="home"),
    url(r'^paypal/', include('paypal.standard.ipn.urls')),
    url(r'^$', views.home, name="home"),
]
我总是会遇到这样的错误:

django.core.urlresolvers.NoReverseMatch: Reverse for 'profile' with arguments '()' and keyword arguments '{'kwargs': {'sugarid': 24}}' not found. 1 pattern(s) tried: ['profile/(?P<sugarid>\\d+)/$']
django.core.urlresolvers.NoReverseMatch:找不到参数为“()”且关键字参数为“{kwargs':{'sugarid':24}}”的“profile”的反转。已尝试1个模式:[“profile/(?P\\d+/$”]

我不知道该怎么办了,帮帮:)

你应该把
sugarid
本身作为一个kwarg来传递。这应该起作用:

return redirect("profile", sugarid=request.user.id)

您应该将
sugarid
作为kwarg本身传递。这应该起作用:

return redirect("profile", sugarid=request.user.id)

可以按原样传递位置参数或关键字参数:

redirect("profile", sugarid=request.user.id)
检查文档:

您可以按原样传递位置或关键字参数:

redirect("profile", sugarid=request.user.id)
检查文档:

这很有效,但现在我的所有其他URL都没有出现EverSematch错误。这让我烦了好几天:(他尝试的每一个URL都是“profile”,我不知道你为什么能详细解释一下?别担心,我发现了我的错误,我在所有模板中都包含了带有URL“profile”的“header.html”,但在呈现时没有传递参数。谢谢你的时间伙计。:)这很有效,但是现在我在我的所有其他URL上都出现了NoReverseMatch错误。这让我烦了好几天:(他尝试的每一个URL都是“profile”,我不知道你为什么能详细解释一下?不管怎样,我发现了我的错误,我在所有模板中都包含了带有URL“profile”的“header.html”,但在呈现时没有传递参数。谢谢你的时间伙计。:)这就像@v1k45所说的那样有效,但是现在我在我的所有其他URL上都出现了NoReverseMatch错误。请提供更多详细信息。哪些URL失败,何时失败,请更新您的问题或添加新问题!我已经对@v1k45发表了评论,请回答我自己的错误,谢谢你的回答!这就像@v1k45所说的那样有效,但是现在我的所有其他URL都出现了NoReverseMatch错误。请提供更多详细信息。哪些URL失败,何时失败,请更新您的问题或添加新问题!我已经对@v1k45发表了评论,请回答我自己的错误,谢谢你的回答!