Django ошибка TypeError в / admin / объект 'set' необратим - PullRequest
0 голосов
/ 01 февраля 2020

Я только что узнал Django, я слежу за «Писанием вашего первого Django приложения» с веб-сайта. Но когда я прихожу к администратору Django, я получаю сообщение об ошибке.

TypeError at /admin/
'set' object is not reversible
Request Method: GET
Request URL:    http://localhost:8000/admin/
Django Version: 3.0.2
Exception Type: TypeError
Exception Value:    
'set' object is not reversible
Exception Location: D:\python\lib\site-packages\django\urls\resolvers.py in _populate, line 455
Python Executable:  D:\python\python.exe
Python Version: 3.8.1
Python Path:    
['D:\\python\\projek\\mysite',
 'D:\\python\\python38.zip',
 'D:\\python\\DLLs',
 'D:\\python\\lib',
 'D:\\python',
 'D:\\python\\lib\\site-packages']
Server time:    Sat, 1 Feb 2020 08:37:20 +0000

Я понимаю, что ошибка возникает, когда я добавляю новый путь к файлу urls.py, как сказано в руководстве.

Вот мой код urls.py

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('polls/', include('polls.urls')), <<---- This is the problem
    path('admin/', admin.site.urls),
]

вот мои polls / urls.py

from django.urls import path

from . import views

urlpatterns = {
    # ex: /polls/
    path('', views.index, name='index'),
    # ex: /polls/5/
    path('<int:question_id>/', views.detail, name='detail'),
    # ex: /polls/5/results/
    path('<int:question_id>/results/', views.results, name='results'),
    # ex: /polls/5/vote/
    path('<int:question_id>/vote/', views.vote, name='vote'),
}

Когда я добавляю путь опроса, появляется ошибка, но когда я комментирую эту строку, приложение работает.

Что не так с моим код

1 Ответ

0 голосов
/ 01 февраля 2020

измените ваш шаблон URL на

urlpatterns = [
    # ex: /polls/
    path('', views.index, name='index'),
    # ex: /polls/5/
    path('<int:question_id>/detail/', views.detail, name='detail'),
    # ex: /polls/5/results/
    path('<int:question_id>/results/', views.results, name='results'),
    # ex: /polls/5/vote/
    path('<int:question_id>/vote/', views.vote, name='vote'),
]

Вместо фигурных скобок вы должны использовать квадратные скобки и сделать шаблон таким образом, чтобы он не перекрывался

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...