嗨,我很难解决这个问题
我跟着http://blackglasses.me/2013/09/17/custom-django-user-model/ 辅导的。在
我不记得了,但我想我在某个地方读到,如果你使用函数视图,你必须导入一些东西,但不确定这是真的还是真的。在
这是我的代码网址.py在accounts应用程序中
from django.conf.urls import patterns, url
from accounts import views
urlpatterns = patterns(
url(r'^register$', 'accounts.views.register', name='register'),
url(r'^login$', 'accounts.views.login', name='login'),
url(r'^logout$', 'accounts.views.logout', name='logout'),
)
基本上网址.py在
^{pr2}$下面是错误消息和回溯
Environment:
Django Version: 1.8.5
Python Version: 3.4.0
Request Method: GET
Request URL: http://127.0.0.1:8777/
Django Version: 1.8.5
Python Version: 3.4.0
Request Method: GET
Request URL: http://127.0.0.1:8777/
Django Version: 1.8.5
Exception Type: TypeError
Exception Value:
unsupported operand type(s) for +: 'RegexURLPattern' and 'str'
Exception Location: /home/kevin/djangoP/envRU/lib/python3.4/site-packages/django/core/urlresolvers.py in add_prefix, line 223
Python Executable: /home/kevin/djangoP/envRU/bin/python
Python Version: 3.4.0
Traceback:
File "/home/kevin/djangoP/envRU/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response
119. resolver_match = resolver.resolve(request.path_info)
File "/home/kevin/djangoP/envRU/lib/python3.4/site-packages/django/core/urlresolvers.py" in resolve
365. for pattern in self.url_patterns:
File "/home/kevin/djangoP/envRU/lib/python3.4/site-packages/django/core/urlresolvers.py" in url_patterns
401. patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/home/kevin/djangoP/envRU/lib/python3.4/site-packages/django/core/urlresolvers.py" in urlconf_module
395. self._urlconf_module = import_module(self.urlconf_name)
File "/home/kevin/djangoP/envRU/lib/python3.4/importlib/__init__.py" in import_module
109. return _bootstrap._gcd_import(name[level:], package, level)
File "/home/kevin/djangoP/ru/rulinked/rulinked/urls.py" in <module>
20. url(r'^accounts/', include('accounts.urls', namespace='accounts')),
File "/home/kevin/djangoP/envRU/lib/python3.4/site-packages/django/conf/urls/__init__.py" in include
33. urlconf_module = import_module(urlconf_module)
File "/home/kevin/djangoP/envRU/lib/python3.4/importlib/__init__.py" in import_module
109. return _bootstrap._gcd_import(name[level:], package, level)
File "/home/kevin/djangoP/ru/rulinked/accounts/urls.py" in <module>
7. url(r'^logout$', 'accounts.views.logout', name='logout'),
File "/home/kevin/djangoP/envRU/lib/python3.4/site-packages/django/conf/urls/__init__.py" in patterns
61. t.add_prefix(prefix)
File "/home/kevin/djangoP/envRU/lib/python3.4/site-packages/django/core/urlresolvers.py" in add_prefix
223. self._callback_str = prefix + '.' + self._callback_str
Exception Type: TypeError at /
Exception Value: unsupported operand type(s) for +: 'RegexURLPattern' and 'str'
如果你读了那么多,那么谢谢你,我知道很多,但我真的迷路了,不知道还有什么地方可以得到帮助。在
你混淆了两种可用的语法。在
patterns()
函数将前缀作为第一个参数,该参数是一个(可能是空的)字符串,并返回一个在每个模式中添加前缀的列表。其他参数是url()
实例。普通列表应该只包含url()
实例,并且不能添加公共前缀。在{cd1>最好使用
帐目/网址.py在
在网址.py在
^{pr2}$至于导入视图:如果传递函数本身,则需要导入视图。如果不先导入,则函数不可用,并导致
NameError
。现在传递的是导入路径,而不是函数,因此不必导入任何内容。这也是不推荐使用的(对于视图,不包括其他url配置),因此为了与将来的Django版本兼容,可以将其更改为:请注意,
url()
的第二个参数不再是字符串,而是导入的views
模块中的view函数本身。在编辑你的应用网址.py为此:
同时,从主目录中删除空字符串网址.py公司名称:
^{pr2}$因为我不认为在使用方括号版本时需要它。在
相关问题 更多 >
编程相关推荐