Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.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-字典更新序列元素#0的长度为1;2是必需的_Python_Django_Dictionary - Fatal编程技术网

Python Django-字典更新序列元素#0的长度为1;2是必需的

Python Django-字典更新序列元素#0的长度为1;2是必需的,python,django,dictionary,Python,Django,Dictionary,在我创建了新的URL之后,我遇到了这个错误 ValueError位于/blog/dictionary更新序列元素#0的长度为1;2是必需的 回溯 Request Method: GET Request URL: http://127.0.0.1:8000/blog/ Django Version: 1.7.2 Python Version: 3.4.1 Installed Applications: ('django.contrib.admin', 'django.contrib.auth'

在我创建了新的URL之后,我遇到了这个错误

ValueError位于/blog/dictionary更新序列元素#0的长度为1;2是必需的

回溯

Request Method: GET
Request URL: http://127.0.0.1:8000/blog/

Django Version: 1.7.2
Python Version: 3.4.1
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'modeltranslation',
 'blog')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware')


Traceback:
File "C:\Python34\lib\site-packages\django\core\handlers\base.py" in get_response
  98.                 resolver_match = resolver.resolve(request.path_info)
File "C:\Python34\lib\site-packages\django\core\urlresolvers.py" in resolve
  345.                     sub_match = pattern.resolve(new_path)
File "C:\Python34\lib\site-packages\django\core\urlresolvers.py" in resolve
  345.                     sub_match = pattern.resolve(new_path)
File "C:\Python34\lib\site-packages\django\core\urlresolvers.py" in resolve
  222.             kwargs.update(self.default_args)

Exception Type: ValueError at /blog/
Exception Value: dictionary update sequence element #0 has length 1; 2 is required
我使用这个URL

# /project/urls.py
from blog.urls import urlpatterns as blog_urls

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^blog/', include(blog_urls, 'blog')),
)

# /blog/urls.py
urlpatterns = patterns('blog.views',
    url(r'^$', 'index', 'index'),
    url(r'^category/(?P<category_id>\d+)/$', 'category', 'category'),
)

# /blog/views.py
def index(request):
    render(request, 'blog/index.html')

def category(request, category_id):
    render(request, 'blog/index.html')
#/project/url.py
从blog.url导入URL模式作为blog\u URL
urlpatterns=模式(“”,
url(r“^admin/”,包括(admin.site.url)),
url(r“^blog/”,包括(blog_url,“blog”),
)
#/blog/url.py
urlpatterns=patterns('blog.views',
url(r'^$'、'索引'、'索引'),
url(r'^category/(?P\d+/$),“category”,“category”),
)
#/blog/views.py
def索引(请求):
呈现(请求'blog/index.html')
def类别(请求,类别id):
呈现(请求'blog/index.html')

为什么我会犯这个错误?以前从未见过,我不知道为什么会出现此错误…

问题是这行:

url(r'^category/(?P<category_id>\d+)/$', 'category', 'category')
url(r'^category/(?P\d+/$),“category”,“category”)
第三个位置参数是额外的上下文dict。如果要传递名称,则需要使用关键字arg:

url(r'^category/(?P<category_id>\d+)/$', 'category', name='category')
url(r'^category/(?P\d+/$),'category',name='category')

谢谢,添加“name=”成功了!任何人都可能忘记的小事情,并浪费大量时间调试它们!!谢谢,这真的节省了我很多时间。