合并Django1.5/python2和Django1.6/python3应用程序:ValueError at/需要超过1个值才能取消

2024-06-16 14:11:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将现有的Django应用程序与现有的Django框架合并。这会导致一些问题,因为它们是使用不同的python/Django版本开发的,但是我进展得很好。你知道吗

我遇到了一只虫子,但我现在似乎无法控制自己。我确信我在做错事网址.py档案,但我似乎不知道到底是什么。 所以,我得到的错误是:

Environment:


Request Method: GET
Request URL: http://localhost:8000/

Django Version: 1.6.4
Python Version: 3.4.0
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'kapstok',
 'forecast',
 'prefscan.survey',
 'prefscan.ipblocker',
 'prefscan.util',
 'prefscan.controlcenter')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware')


Traceback:
File "/usr/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response
  101.                 resolver_match = resolver.resolve(request.path_info)
File "/usr/lib/python3.4/site-packages/django/core/urlresolvers.py" in resolve
  337.             for pattern in self.url_patterns:
File "/usr/lib/python3.4/site-packages/django/core/urlresolvers.py" in url_patterns
  365.         patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/usr/lib/python3.4/site-packages/django/core/urlresolvers.py" in urlconf_module
  360.             self._urlconf_module = import_module(self.urlconf_name)
File "/usr/lib/python3.4/importlib/__init__.py" in import_module
  104.     return _bootstrap._gcd_import(name[level:], package, level)
File "/home/linus/fo/web-framework/pi/urls.py" in <module>
  13.     url(r'^prefscan/', include('prefscan.urls', namespace="prefscan")),
File "/usr/lib/python3.4/site-packages/django/conf/urls/__init__.py" in include
  26.         urlconf_module = import_module(urlconf_module)
File "/usr/lib/python3.4/importlib/__init__.py" in import_module
  104.     return _bootstrap._gcd_import(name[level:], package, level)
File "/home/linus/fo/web-framework/prefscan/urls.py" in <module>
  56. add_to_builtins('util.templatetags.closure_extras')
File "/usr/lib/python3.4/site-packages/django/template/base.py" in add_to_builtins
  1331.     builtins.append(import_library(module))
File "/usr/lib/python3.4/site-packages/django/template/base.py" in import_library
  1263.         if is_library_missing(taglib_module):
File "/usr/lib/python3.4/site-packages/django/template/base.py" in is_library_missing
  1247.         return is_library_missing(path)
File "/usr/lib/python3.4/site-packages/django/template/base.py" in is_library_missing
  1247.         return is_library_missing(path)
File "/usr/lib/python3.4/site-packages/django/template/base.py" in is_library_missing
  1242.     path, module = name.rsplit('.', 1)

Exception Type: ValueError at /
Exception Value: need more than 1 value to unpack

它似乎指向pi/urls.py文件。此文件看起来像:

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

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'pi.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),

    url(r'^', include('kapstok.urls', namespace="kapstok")),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^prefscan/', include('prefscan.urls', namespace="prefscan")),
)

每当我注释掉url(r'^prefscan/', ...),行时,错误就会消失。你知道吗

prefscan/urls.py看起来像这样:

import django

if django.VERSION < (1, 6):
    from django.conf.urls.defaults import patterns, include, url
else:
    from django.conf.urls import patterns, include, url

from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.template.loader import add_to_builtins

import prefscan.controlcenter.urls
import prefscan.ipblocker.core

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

urlpatterns = patterns('',
    url(r'^prefscan/$',                                        'survey.views.login'),

    url(r'^prefscan/cc/staff/siteadmin/',                      include(admin.site.urls)),
    url(r'^prefscan/cc/' ,                                     include(prefscan.controlcenter.urls.urlpatterns)),

    url(r'^prefscan/survey/login/$',                           'survey.views.login'),
    url(r'^prefscan/survey/logout/$',                          'survey.views.logout'),
    url(r'^prefscan/language/(?P<language>[a-z]+)/$',          'survey.views.set_preferred_language'),
    url(r'^prefscan/survey/$',                                 'survey.views.choose'),
    url(r'^prefscan/survey/questionnaire/(?P<survey_id>\d+)/$','survey.views.questionnaire'),
    url(r'^prefscan/survey/(?P<survey_id>\d+)/$',              'survey.views.detail'),
    url(r'^prefscan/survey/pdf/(?P<survey_id>\d+)/$',          'survey.views.response_pdf'),

    url(r'^prefscan/survey/json/(?P<survey_id>\d+)/$',         'survey.views.json_get_assignment'),
    url(r'^prefscan/survey/json/list$',                        'survey.views.json_list_surveys'),
    url(r'^prefscan/survey/json/cards/(?P<survey_id>\d+)/$',   'survey.views.json_list_cards'),
    url(r'^prefscan/survey/json/shape/(?P<survey_id>\d+)/$',   'survey.views.json_list_shape'),
    url(r'^prefscan/survey/json/savequest/(?P<survey_id>\d+)/$','survey.views.json_store_questionnaire'),
    url(r'^prefscan/survey/json/store/(?P<survey_id>\d+)/$',   'survey.views.json_store_assignment'),
    url(r'^prefscan/survey/json/load/(?P<survey_id>\d+)/$',    'survey.views.json_load_assignment'),
    url(r'^prefscan/survey/json/send/(?P<survey_id>\d+)/$',    'survey.views.json_send_response'),
    url(r'^prefscan/survey/keepalive/$',                       'survey.views.keep_alive'),
)

urlpatterns += staticfiles_urlpatterns()

js_info_dict = {
    'domain': 'djangojs',
    'packages': ('js'),
}

urlpatterns += patterns('',
    (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),
)

urlpatterns += prefscan.ipblocker.core.urlpatterns

add_to_builtins('util.templatetags.closure_extras')
add_to_builtins('django.templatetags.i18n')

我只是不知道怎么回事!prefscan行似乎与kapstok行相同,后者工作时不会打嗝。你知道吗


Tags: djangoinpyimportjsonurllibusr