我正在尝试将一行添加或删除到数据库中,使用一个按钮单击该按钮可重定向回同一页,以下是我的文件
视图.py
def favorite_item (request, pk):
favitem = get_object_or_404(Item, pk=pk)
userfav = Favorite.objects.filter(user=request.user)
for items in userfav:
if items.item == favitem:
items.delete()
else:
items = Favorite(item=favitem, user=request.user)
items .save()
return redirect('')
url.py
path('<int:pk>/favorite_item/', views.favorite_item, name='favorite_item'),
html
<a href="{% url 'favorite_item' dress.id %}">
<img src="{% static 'img/gold_star.png' %}"></a>
但每当我点击它我就会得到一个错误:
错误
Reverse for '' not found. '' is not a valid view function or pattern name.
整个回溯
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8000/3/favorite_item/
Django Version: 2.0.5
Python Version: 3.6.5
Installed Applications:
['django_filters',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'fostania_web_app.apps.FostaniaWebAppConfig']
Installed Middleware:
('whitenoise.middleware.WhiteNoiseMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')
Traceback:
File "C:\Users\LiTo\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\handlers\exception.py" in inner
35. response = get_response(request)
File "C:\Users\LiTo\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\handlers\base.py" in _get_response
128. response = self.process_exception_by_middleware(e, request)
File "C:\Users\LiTo\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\handlers\base.py" in _get_response
126. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "F:\django\fostania\fostania_web_app\views.py" in favorite_item
278. return redirect('')
File "C:\Users\LiTo\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\shortcuts.py" in redirect
58. return redirect_class(resolve_url(to, *args, **kwargs))
File "C:\Users\LiTo\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\shortcuts.py" in resolve_url
149. return reverse(to, args=args, kwargs=kwargs)
File "C:\Users\LiTo\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\urls\base.py" in reverse
88. return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
File "C:\Users\LiTo\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\urls\resolvers.py" in _reverse_with_prefix
632. raise NoReverseMatch(msg)
Exception Type: NoReverseMatch at /3/favorite_item/
Exception Value: Reverse for '' not found. '' is not a valid view function or pattern name.
感谢您添加回溯。这是重定向调用。因此,当您使用重定向快捷方式方法时,您提供的字符串需要与至少一个已配置路径中的name变量匹配。所以当我试图重定向到我的项目中没有任何内容时:
我得到完全相同的错误,因为我没有为此配置路径:
但当我改变了回家的路,用了这个名字:
维奥拉,转到家里。
相关问题 更多 >
编程相关推荐