错误:“只能在URL中连接元组(不是”列表“)到元组,Django

时间:2011-09-27 11:24:39

标签: python django django-urls

我的网址出错:

  

/的TypeError只能将元组(不是“list”)连接到元组

无法得到我做错的事。那里的名单在哪里?

from django.conf import settings

from django.conf.urls.defaults import patterns, include, url

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = ('googleapi.apiapp.views',
    (r'^$', 'first_view'),
)

urlpatterns += patterns('',
    # Uncomment the admin/doc line below to enable admin documentation:
    (r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    (r'^admin/', include(admin.site.urls)),

    # Static files url.
    (r'^site_media/media/(?P<path>.*)$', 'django.views.static.serve',
                                   {'document_root': settings.MEDIA_ROOT}),
    (r'^site_media/static/(?P<path>.*)$', 'django.views.static.serve',
                                {'document_root': settings.STATIC_ROOT}),
)

Django Config

回溯:

File "/home/i159/Env/googleapi/lib/python2.6/site-packages/django/core/handlers/base.py" in get_response
  101.                             request.path_info)
File "/home/i159/Env/googleapi/lib/python2.6/site-packages/django/core/urlresolvers.py" in resolve
  250.             for pattern in self.url_patterns:
File "/home/i159/Env/googleapi/lib/python2.6/site-packages/django/core/urlresolvers.py" in _get_url_patterns
  279.         patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/home/i159/Env/googleapi/lib/python2.6/site-packages/django/core/urlresolvers.py" in _get_urlconf_module
  274.             self._urlconf_module = import_module(self.urlconf_name)
File "/home/i159/Env/googleapi/lib/python2.6/site-packages/django/utils/importlib.py" in import_module
  35.     __import__(name)
File "/home/i159/workspace/apiroot/googleapi/../googleapi/urls.py" in <module>
  24.                                     {'document_root': settings.STATIC_ROOT}),

Exception Type: TypeError at /
Exception Value: can only concatenate tuple (not "list") to tuple

2 个答案:

答案 0 :(得分:4)

错误几乎描述了您的问题。您在patterns()的第一个定义中错过了对urlpatterns的来电。

答案 1 :(得分:1)

  

/的TypeError只能将元组(不是“list”)连接到元组

这正是它所说的。它抱怨urlpatterns += patterns(...)+=尝试连接(链接在一起)两件事。 urlpatterns是一个元组。 patterns(...)返回的值是一个列表。你不能将它们混合起来进行连接。

要解决此问题,您必须首先确定是否需要元组或列表作为结果(连接两个元组给出一个元组,并连接两个列表给出一个列表),然后相应地修复一侧或另一侧。 / p>

在你的情况下,你显然想要一个清单。您为urlpatterns分配的值首先看起来像patterns()的一组参数。正如@patrys指出的那样简单的解释是,你的意思是(并且忘了)在这里调用函数。这会给你一个列表,然后你可以在第二次调用中追加(连接)列表。

请注意,您也可以一次性完成所有操作:urlpatterns = patterns(...) + patterns(...)

  

那里的名单在哪里?

patterns()调用的结果,如上所述(也可能是文档,大概是 - 我对django一无所知,我只是擅长调试。)