我試圖在執行中django.contrib.auth.views
的password_reset
如描述所示https://github.com/django/django/blob/master/django/contrib/auth/views.py#L133自定義密碼重置視圖類歸國ImproperlyConfigured例外
但我有絕對與此沒有運氣,因爲我不斷收到以下異常:
Exception Type: ImproperlyConfigured
Exception Value: The included urlconf tutorial.urls doesn't have any patterns in it
我的項目urls.py(教程):
urlpatterns = patterns('',
url(r'^adminp/', include('adminApp.urls')),
url(r'^mobile/', include('mobileApp.urls')),
)
我的urls.py爲應用程序:
urlpatterns = patterns('',
....
url(r'^login/$', UserLoginView.as_view(), name='admin_user_login'),
url(r'^logout/$', UserLogoutView.as_view(), name='admin_user_logout'),
url(r'^password/reset/$', UserPasswordResetView.as_view(), name='admin_password_reset'),
url(r'^password/reset/done/$', UserPasswordResetDoneView.as_view(), name='admin_password_reset_done'),
....
而我的等級:
class UserPasswordResetView(FormView):
template_name = 'adminApp/registration/password_reset_form.html'
form_class = MyPasswordResetForm
email_template_name = 'adminApp/registration/password_reset_email.html'
subject_template_name = 'changeMe'
post_reset_redirect = reverse('adminApp:admin_password_reset_done')
def form_valid(self, form):
password_reset(self.request)
return super(UserPasswordResetView, self).form_valid(form)
回溯:
File "/Library/Python/2.7/site-packages/django/core/handlers/base.py" in get_response
101. resolver_match = resolver.resolve(request.path_info)
File "/Library/Python/2.7/site-packages/django/core/urlresolvers.py" in resolve
318. for pattern in self.url_patterns:
File "/Library/Python/2.7/site-packages/django/core/urlresolvers.py" in url_patterns
346. patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/Library/Python/2.7/site-packages/django/core/urlresolvers.py" in urlconf_module
341. self._urlconf_module = import_module(self.urlconf_name)
File "/Library/Python/2.7/site-packages/django/utils/importlib.py" in import_module
40. __import__(name)
File "/Users/Jimbo/Dropbox/Sandbox/tutorial/tutorial/urls.py" in <module>
12. url(r'^adminp/', include('adminApp.urls')),
File "/Library/Python/2.7/site-packages/django/conf/urls/__init__.py" in include
26. urlconf_module = import_module(urlconf_module)
File "/Library/Python/2.7/site-packages/django/utils/importlib.py" in import_module
40. __import__(name)
File "/Users/Jimbo/Dropbox/Sandbox/tutorial/adminApp/urls.py" in <module>
3. from adminApp import views
File "/Users/Jimbo/Dropbox/Sandbox/tutorial/adminApp/views.py" in <module>
44. class UserPasswordResetView(FormView):
File "/Users/Jimbo/Dropbox/Sandbox/tutorial/adminApp/views.py" in UserPasswordResetView
49. post_reset_redirect = reverse('admin_password_reset_done')
File "/Library/Python/2.7/site-packages/django/core/urlresolvers.py" in reverse
509. return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
File "/Library/Python/2.7/site-packages/django/core/urlresolvers.py" in _reverse_with_prefix
387. possibilities = self.reverse_dict.getlist(lookup_view)
File "/Library/Python/2.7/site-packages/django/core/urlresolvers.py" in reverse_dict
296. self._populate()
File "/Library/Python/2.7/site-packages/django/core/urlresolvers.py" in _populate
262. for pattern in reversed(self.url_patterns):
File "/Library/Python/2.7/site-packages/django/core/urlresolvers.py" in url_patterns
350. raise ImproperlyConfigured("The included urlconf %s doesn't have any patterns in it" % self.urlconf_name)
異常類型:AT /的AdminP /密碼ImproperlyConfigured/RESET/ 異常值:包括URL配置tutorial.urls沒有按沒有任何圖案 現在,如果我註釋掉post_reset_redirect
它工作正常,所以我認爲它不是真的找到admin_password_reset_done
名稱?爲什麼是這樣?
UPDATE:
我取代reverse
與reverse_lazy
作爲根據本https://stackoverflow.com/a/7430924/531203,但它調用其可以是或不是在相同的域中的另一個錯誤:
Exception Type: NoReverseMatch
Exception Value: Reverse for 'password_reset_done' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
當reverse_lazy
使用它假設post_reset_redirect
變量爲無並且設置爲:https://github.com/django/django/blob/master/django/contrib/auth/views.py#L144
粘貼的'urls.py'是'tutorial.urls'? – iMom0
@ user995394,它是我稱爲app1的urls.py,它具有該類。 – JavaCake
我認爲問題出在您的網址配置的其他地方。異常消息中提到的'tutorial.urls'在哪裏?你在這條線上看到的問題是因爲'reverse()',它經歷了你所有的url並且經常可以發現問題。它不一定與'admin_password_reset_done'有關。 –