找不到参数为“(“”,)”的“用户”的反转。尝试了1种模式:[“帐户/用户/(?P<user\u id>[09]+)/$”]

2024-05-16 04:18:18 发布

您现在位置:Python中文网/ 问答频道 /正文

NoReverseMatch at/bookdetail/1/

找不到参数为“(“”,)”的“用户”的反转。尝试了1种模式:[“帐户/用户/(?P<;用户id>;[0-9]+)/$”]

Request Method: GET
Request URL:    http://127.0.0.1:8000/bookdetail/1/
Django Version: 2.1.5
Exception Type: NoReverseMatch
Exception Value:    
Reverse for 'user' with arguments '('',)' not found. 1 pattern(s) tried: ['accounts/user/(?P<user_id>[0-9]+)/$']
Exception Location: C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\urls\resolvers.py in _reverse_with_prefix, line 622
Python Executable:  C:\Users\User\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\python.exe
Python Version: 3.7.8
Python Path:    
['C:\\Users\\User\\Desktop\\projects\\books\\src',
 'C:\\Program '
 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.7_3.7.2288.0_x64__qbz5n2kfra8p0\\python37.zip',
 'C:\\Program '
 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.7_3.7.2288.0_x64__qbz5n2kfra8p0\\DLLs',
 'C:\\Program '
 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.7_3.7.2288.0_x64__qbz5n2kfra8p0\\lib',
 'C:\\Program '
 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.7_3.7.2288.0_x64__qbz5n2kfra8p0',
 'C:\\Users\\User\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python37\\site-packages',
 'C:\\Users\\User\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python37\\site-packages\\win32',
 'C:\\Users\\User\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python37\\site-packages\\win32\\lib',
 'C:\\Users\\User\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python37\\site-packages\\Pythonwin',
 'C:\\Program '
 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.7_3.7.2288.0_x64__qbz5n2kfra8p0\\lib\\site-packages']

环境:

请求方法:获取 请求URL:http://127.0.0.1:8000/bookdetail/1/

Environment:


Request Method: GET
Request URL: http://127.0.0.1:8000/bookdetail/1/

Django Version: 2.1.5
Python Version: 3.7.8
Installed Applications:
['bookexchange',
 'transactions',
 'accounts',
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles']
Installed Middleware:
['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']


Template error:
In template C:\Users\User\Desktop\projects\books\src\templates\base.html, error at line 0
   Reverse for 'user' with arguments '('',)' not found. 1 pattern(s) tried: ['accounts/user/(?P<user_id>[0-9]+)/$']
   1 : <!doctype html>
   2 : <html lang="en">
   3 :   <head>
   4 :     <!-- Required meta tags -->
   5 :     <meta charset="utf-8">
   6 :     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
   7 : 
   8 :     <!-- Bootstrap CSS -->
   9 : 
   10 : 


Traceback:

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\core\handlers\exception.py" in inner
  34.             response = get_response(request)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\core\handlers\base.py" in _get_response
  126.                 response = self.process_exception_by_middleware(e, request)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\core\handlers\base.py" in _get_response
  124.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "C:\Users\User\Desktop\projects\books\src\bookexchange\views.py" in book_detail_view
  176.  return render(request, "bookexchange/book_detail.html", context)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\shortcuts.py" in render
  36.     content = loader.render_to_string(template_name, context, request, using=using)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\template\loader.py" in render_to_string
  62.     return template.render(context, request)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\template\backends\django.py" in render
  61.             return self.template.render(context)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\template\base.py" in render
  171.                     return self._render(context)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\template\base.py" in _render
  163.         return self.nodelist.render(context)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\template\base.py" in render
  937.                 bit = node.render_annotated(context)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\template\base.py" in render_annotated
  904.             return self.render(context)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\template\loader_tags.py" in render
  150.             return compiled_parent._render(context)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\template\base.py" in _render
  163.         return self.nodelist.render(context)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\template\base.py" in render
  937.                 bit = node.render_annotated(context)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\template\base.py" in render_annotated
  904.             return self.render(context)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\template\loader_tags.py" in render
  62.                 result = block.nodelist.render(context)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\template\base.py" in render
  937.                 bit = node.render_annotated(context)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\template\base.py" in render_annotated
  904.             return self.render(context)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\template\defaulttags.py" in render
  309.                 return nodelist.render(context)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\template\base.py" in render
  937.                 bit = node.render_annotated(context)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\template\base.py" in render_annotated
  904.             return self.render(context)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\template\defaulttags.py" in render
  442.             url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\urls\base.py" in reverse
  90.     return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\django\urls\resolvers.py" in _reverse_with_prefix
  622.         raise NoReverseMatch(msg)

Exception Type: NoReverseMatch at /bookdetail/1/
Exception Value: Reverse for 'user' with arguments '('',)' not found. 1 pattern(s) tried: ['accounts/user/(?P<user_id>[0-9]+)/$']

当我试图在http://127.0.0.1:8000/bookdetail/1/查看一本书的细节时,我遇到了一个错误。这很奇怪,因为我甚至没有在我的html页面中调用用户。正如你所看到的,在这一点上,我只是把这本书叫做title。几天来,我一直在努力解决这个问题,但运气不佳。有人看到任何可能抛出此错误的东西吗

视图.py

def book_detail_view(request, book_id):
    obj = get_object_or_404(Book, id=book_id)
    context = {'object': obj, 
    return render(request, "bookexchange/book_detail.html", context)

url.py

app_name = 'bookexchange'
urlpatterns = [
    path('', home_view, name='home'),
    path('list/', item_list_view, name='item-list'),
    path('detail/<int:item_id>/', item_detail_view, name='item-detail'),
    path('update/<int:item_id>/', item_update_view, name='item-update'),
    path('delete/<int:item_id>/', item_delete_view, name='item-delete'),
    path('bookdetail/<int:book_id>/', book_detail_view, name='book-detail'),
...

book\u detail.html

<!-- {% extends 'base.html' %} -->

{% block content %}

<p>{{ object.title }}</p>

型号.py

class Book(models.Model):
    title       = models.CharField(max_length=200)
    author      = models.CharField(max_length=500)

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse("bookexchange:book-detail", kwargs={"book_id": self.id})

帐户/视图.py

app_name = 'accounts'
urlpatterns = [
    path('profile/', profile_view, name='profile'), 
    path('profile-edit/', profile_edit_view, name='profile_edit'),
    path('user/<int:user_id>/', user_view, name='user'),

]

accounts/user.html

{% extends "base.html" %}

{% block content %}
<hr>
<h6>Basic information</h6>
<p>Name: {{ person.user.first_name }} {{ person.user.last_name }}</p>
{% endblock %}

Tags: djangopypackageslocalsiterenderusersappdata