【问题标题】:TypeError at /admin/ 'set' object is not reversible and argument( ) to reverse must be a sequence/admin/ 'set' 对象的 TypeError 是不可逆的,并且要反转的参数()必须是一个序列
【发布时间】:2025-12-08 16:25:01
【问题描述】:

我的应用程序运行良好,但是当我尝试管理 url 时,发生了这个错误。我可以访问网站的每个页面,除了管理页面。 我的项目是迷你 mini.urls.py

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

urlpatterns = [
     url(r'^admin/', admin.site.urls),
     url(r'^', include('main.urls')),
     url(r'^', include('signup.urls',namespace='signup')),
]

main.urls.py

 from django.conf.urls import url,include
 from . import views

 urlpatterns = [
      url(r'^$', views.index,name='index'),
 ]

signup.urls.py

 from django.conf.urls import url,include
 from . import views

 urlpatterns = {
    url(r'^signup/$', views.register, name='register'),
    url(r'^login/$', views.login_user, name='login'),
    url(r'^userpage/$', views.user_page, name='userpage'),
    url(r'^upload/$', views.upload_file, name='upload'),
    url(r'^logout/$', views.logout_user, name='logout'),
    url(r'^(?P<uuid>[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]
                                {12})/$', views.doc_detail, name='detail'),
    url(r'^(?P<uuid>[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]
                                {12})/decrypt/$', views.doc_decrypt, 
                                            name='docdecrypt'),
     }

我在 /admin/ 遇到的错误

     TypeError at /admin/
     'set' object is not reversible
     Request Method:    GET
     Request URL:   http://127.0.0.1:8000/admin/
     Django Version:    1.10.5
     Exception Type:    TypeError
     Exception Value:   
     'set' object is not reversible
     Exception Location:    
     C:\Users\user\AppData\Local\Programs\Python\Python36-32\lib\site-
     packages\django\urls\resolvers.py in _populate, line 196
     Python Executable: 
     C:\Users\user\AppData\Local\Programs\Python\Python36-32\python.exe
     Python Version:    3.6.0
     Python Path:   
     ['C:\\Users\\user\\Desktop\\django projects\\mini',
     'C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python36-
     32\\python36.zip',
     'C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python36-32\\DLLs',
     'C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python36-32\\lib',
     'C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python36-32',
     'C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python36-
     32\\lib\\site-packages']

我尝试在另一台电脑上运行我的 webapp,但遇到了以下错误:

     TypeError at /admin/
     argument to reversed() must be a sequence
     Request Method:    GET
     Request URL:   http://127.0.0.1:8000/admin/
     Django Version:    1.10.5
     Exception Type:    TypeError
     Exception Value:   
     argument to reversed() must be a sequence
     Exception Location:    C:\Python27\lib\site-
     packages\django\urls\resolvers.py in _populate, line 196
     Python Executable: C:\Python27\python.exe
     Python Version:    2.7.12
     Python Path:   
     ['C:\\Users\\Admin\\Desktop\\mini',
     'C:\\Python27\\lib\\site-packages\\steganography-0.1.1-py2.7.egg',
     'C:\\Python27\\lib\\site-packages\\pillow-4.0.0-py2.7-win32.egg',
     'C:\\Python27\\lib\\site-packages\\olefile-0.44-py2.7.egg',
     'C:\\WINDOWS\\SYSTEM32\\python27.zip',
     'C:\\Python27\\DLLs',
     'C:\\Python27\\lib',
     'C:\\Python27\\lib\\plat-win',
     'C:\\Python27\\lib\\lib-tk',
     'C:\\Python27',
     'C:\\Python27\\lib\\site-packages']

【问题讨论】:

标签: python django web-applications django-admin typeerror


【解决方案1】:

在 signup.urls.py 中将括号从这些 { } 更改为 [ ] 这将起作用

【讨论】:

  • 当您使用应用程序路由 URL 包含到管理主路由 URL 中时。然后你必须使用 [ ] 而不是 { }
【解决方案2】:

我在这里找到了解决方案,它对我有用

urlpatterns = [
     url(r'^admin/', admin.site.urls),
     url(r'^', include('main.urls')),
     url(r'^', include('signup.urls',namespace='signup')),
]

从 urlpatterns 数组的最后一行删除 ","

urlpatterns = [
     url(r'^admin/', admin.site.urls),
     url(r'^', include('main.urls')),
     url(r'^', include('signup.urls',namespace='signup'))
]

来自 http://stackoverflaw.com/question/set-project-is-not-revertable-in-_populate-line-416/

【讨论】:

    【解决方案3】:

    检查该文件中的文件 urls.py 检查 urlpatterns = [] 中的方括号 因为它在大括号中,它会显示“set”对象不可逆并且参数()错误...试试这个它正在工作...

    【讨论】:

      【解决方案4】:

      在 main.urls.py 中将 {} 更改为 []

      【讨论】:

        【解决方案5】:

        我的项目遇到了同样的问题,将大括号 {} 更改为方括号 [] 并解决了问题。

        【讨论】:

          【解决方案6】:

          只需将project.urls.py 中的{} 更改为[] 即可:

          urlpatterns = [
               url(r'^admin/', admin.site.urls),
               url(r'^', include('main.urls')),
               url(r'^', include('signup.urls',namespace='signup'))
          ]
          

          【讨论】:

            【解决方案7】:

            在主项目 urls.py 中将 urlpatterns 元组从 {} 更改为 []

            PROJECT_NAME/urls.py

            只需在每个该死的 urls.py 中检查并将 curly 更改为 square

            就是这样......它会起作用的!

            【讨论】:

              最近更新 更多