+的不受支持的操作数类型:'RegexURLPattern'和'unicode'
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了+的不受支持的操作数类型:'RegexURLPattern'和'unicode'相关的知识,希望对你有一定的参考价值。
我在干净的Django (1, 6, 1, 'final', 0)
上运行Python 2.7 Virtual Environment (virtualenv)
。 Django似乎工作,但当我向我的urls.py文件添加一个正则表达式时,我得到一个错误,如标题中所示。我已经检查了谷歌的答案,但我能找到的只是有些相关的页面,我的问题没有答案。我是Django和Python的新手,所以我不知道是什么导致了这个错误。
堆栈跟踪显示以下内容:
./project/urls.py in <module>
url('^', include('page.urls', namespace='page')),
./page/urls.py in <module>
url('^dashboard/', 'page.views.back', name='back'),
这是我的urls.py文件:
domain.com/project/project/urls.py
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^', include('page.urls', namespace='page')),
url(r'^admin/', include(admin.site.urls)),
)
和domain.com/project/page/urls.py
from django.conf.urls import patterns, url
urlpatterns = patterns(
url(r'^$', 'page.views.front', name='front'),
url(r'^dashboard/', 'page.views.back', name='back'),
)
我已经在其他Django项目中使用了这些文件的确切内容,所以据我所知这段代码有效,但这意味着它与我为这个项目设置的虚拟环境安装有关,我不知道可能是什么问题的根源。
如果有人能够对这个问题有所了解,那将是很好的。
编辑1: 我认为不需要删除整个堆栈跟踪,因为其余部分是跟django或python本身附带的脚本的跟踪,但这里是:
/var/www/domain.com/local/lib/python2.7/site-packages/django/core/handlers/base.py in get_response
resolver_match = resolver.resolve(request.path_info)
/var/www/domain.com/local/lib/python2.7/site-packages/django/core/urlresolvers.py in resolve
for pattern in self.url_patterns:
/var/www/domain.com/local/lib/python2.7/site-packages/django/core/urlresolvers.py in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
/var/www/domain.com/local/lib/python2.7/site-packages/django/core/urlresolvers.py in urlconf_module
self._urlconf_module = import_module(self.urlconf_name)
/var/www/domain.com/local/lib/python2.7/site-packages/django/utils/importlib.py in import_module
__import__(name)
./project/urls.py in <module>
url(r'^', include('page.urls', namespace='page')),
/var/www/domain.com/local/lib/python2.7/site-packages/django/conf/urls/__init__.py in include
urlconf_module = import_module(urlconf_module)
/var/www/domain.com/local/lib/python2.7/site-packages/django/utils/importlib.py in import_module
__import__(name)
./page/urls.py in <module>
url(r'^dashboard/', 'page.views.back', name='back'),
/var/www/domain.com/local/lib/python2.7/site-packages/django/conf/urls/__init__.py in patterns
t.add_prefix(prefix)
/var/www/domain.com/local/lib/python2.7/site-packages/django/core/urlresolvers.py in add_prefix
self._callback_str = prefix + '.' + self._callback_str
您需要为字符串前缀patterns()
提供第一个参数。你没有,你的第一个参数是url()
结果:
urlpatterns = patterns(
url(r'^$', 'page.views.front', name='front'),
url(r'^dashboard/', 'page.views.back', name='back'),
)
添加一个view prefix:
urlpatterns = patterns('',
url(r'^$', 'page.views.front', name='front'),
url(r'^dashboard/', 'page.views.back', name='back'),
)
或者,因为您的所有网址都来自同一个模块:
urlpatterns = patterns('page.views',
url(r'^$', 'front', name='front'),
url(r'^dashboard/', 'back', name='back'),
)
以上是关于+的不受支持的操作数类型:'RegexURLPattern'和'unicode'的主要内容,如果未能解决你的问题,请参考以下文章
DynamoDB'Type DynamoDBEntry不受支持'
Editdamnpoll 正在更改要控制的文本类型的不受控制的输入
来自 PHP 文件信息的不正确/不受欢迎的 ogv MIME 类型
Keras 报告类型错误:+ 的不支持的操作数类型:'NoneType' 和 'int'