Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.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教程,get:TypeError at/admin/argument to reversed()必须是一个序列_Python_Django 1.8 - Fatal编程技术网

Python Django教程,get:TypeError at/admin/argument to reversed()必须是一个序列

Python Django教程,get:TypeError at/admin/argument to reversed()必须是一个序列,python,django-1.8,Python,Django 1.8,我正在努力学习django 1.8版教程,但我遇到了一个错误,我一直无法理解。我以为我是在跟着教程走到T 我已设置以下树: 。 ├── dj_项目 │   ├── __初始值 │   ├── __初始值 │   ├── 设置.py │   ├── 设置.pyc │   ├── url.py │   ├── url.pyc │   ├── wsgi.py │   └── wsgi.pyc ├── manage.py └── 民意测验 ├── 管理员 ├── 管理员.pyc ├── __初始值 ├─

我正在努力学习django 1.8版教程,但我遇到了一个错误,我一直无法理解。我以为我是在跟着教程走到T

我已设置以下树:

。
├── dj_项目
│   ├── __初始值
│   ├── __初始值
│   ├── 设置.py
│   ├── 设置.pyc
│   ├── url.py
│   ├── url.pyc
│   ├── wsgi.py
│   └── wsgi.pyc
├── manage.py
└── 民意测验
├── 管理员
├── 管理员.pyc
├── __初始值
├── __初始值
├── 迁移
│   ├── 0001_首字母.py
│   ├── 0001_首字母.pyc
│   ├── __初始值
│   └── __初始值
├── models.py
├── 模型.pyc
├── tests.py
├── url.py
├── url.pyc
├── views.py
└── views.pyc

并且,正如polls/url.py的教程中所述:

from django.conf.urls import url

from . import views

urlpatterns = {
    url(r'^$', views.index, name='index'),
}
对于我的dj_项目/url.py:

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

urlpatterns = [

    url(r'^polls/', include('polls.urls')), 
    url(r'^admin/', include(admin.site.urls)),

]
polls/views.py中,我有:

from django.shortcuts import render
from django.http import HttpResponse

def index(request):
    return HttpResponse("is there something here?")
因此,当我转到
/polls
时,我看到“这里有什么东西吗”,但如果我转到
/admin
,我会得到错误:
类型错误在/admin/argument to reversed()必须是一个序列。如果我在
dj_project/urls.py
中从urlpatterns中删除轮询,管理员就可以了


有什么问题吗?我似乎无法理解。

polls/url.py文件中, 您要将urlpatterns声明为dict,它必须是一个列表

改变

urlpatterns = {
    url(r'^$', views.index, name='index'),
}
致:


你想在任何地方使用吗?可以是一套吗?或者您可以声明一个名为urlpatterns的集合,然后将其更改为列表吗?我不确定您是否真的想将
urlpatterns
转换为
set
,或者只是误解了必须将其设置为我答案的列表部分。你能说得更具体些吗?比如,如果我想为数据库中的每个对象都有一个url,我能把它转换成一个集合,删除可能的重复项,然后返回到一个列表中吗?你可以将
urlpatterns
转换成
set
来删除重复项,并改回
list
。但我认为这样做没有什么意义,因为urlpatterns通常是手工编写的。为什么要为数据库中的每一行/对象创建URL。为什么不使用一个简单的正则表达式呢?有趣的事实是:如果你定义一个dict(这可能是错误的)并用
格式后缀模式()处理它,它就可以了-函数似乎不介意并正确地转换它。我用dict和function为我的新应用程序复制了一点代码,然后删除了格式后缀模式,整个事情就轰隆起来。
urlpatterns = [
    url(r'^$', views.index, name='index'),
]