>
> authentication/urls.py:
>
from django.conf.urls import url
> from . import views
>
app_name = 'authentication'
>
I thought you didn't have an app_name, but you do have one. In that case,
the only problem was that you passed the wrong urlconf to reverse(). You
should be able to reverse the url with:
reverse('authentication:password_change')
On Monday, December 14, 2015 at 3:53:24 PM UTC+1, [email protected] wrote:
>
>
> Am 14.12.2015 um 15:29 schrieb knbk <[email protected] <javascript:>>:
>
> Could you show your full root urls.py and authentication/urls.py?
>
>
> urls.py:
>
> from django.conf.urls import include, url
> from django.views.generic import TemplateView
>
> # Uncomment the next two lines to enable the admin:
> from django.contrib import admin
>
> urlpatterns = (
> url(r'^$', TemplateView.as_view(template_name='base.html')),
> url(r'^authentication/', include('authentication.urls')),
> url(r'^admin/', include(admin.site.urls)),
> )
>
> if settings.DEBUG:
> import debug_toolbar
> urlpatterns += (url(r'^__debug__/', include(debug_toolbar.urls)),)
>
> authentication/urls.py:
>
> from django.conf.urls import url
> from . import views
>
> app_name = 'authentication'
>
> urlpatterns = [
> url(r'^$', views.index, name='index'),
> url(r'^login/$', views.login, name='login'),
> url(r'^loggedin/$', views.loggedin, name='loggedin'),
> url(r'^logout/$', views.logout, name='logout'),
> url(r'^password/$', views.password, name='password'),
> url(r'^password_change/$', views.password_change,
> name='password_change'),
> url(r'^password_change/done/$', views.password_change_done,
> name='password_change_done'),
> url(r'^password_reset/$', views.password_reset, name='password_reset'),
> url(r'^password_reset/done/$', views.password_reset_done,
> name='password_reset_done'),
> url(r'^reset/done/$', views.password_reset_complete,
> name='password_reset_complete'),
>
> url(r'^reset/(?P<uidb64>[0-9A-Za-z]{1,13})-(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',
> views.password_reset_confirm,
> name='password_reset_confirm'),
> url(r'^profile/$', views.profile, name='profile')
> ]
>
> Axel
>
>
> On Monday, December 14, 2015 at 3:22:14 PM UTC+1, [email protected] wrote:
>>
>> Thanks for taking the time,
>>
>>
>> Am 14.12.2015 um 14:06 schrieb knbk <[email protected]>:
>>
>> Hi Axel,
>>
>> An installed application and a registered URL namespace are two distinct
>> concepts. A URL namespace can only be defined by setting the app_name
>> attribute in your urlconf. In this case, you haven’t set a URL namespace
>> for your authentication app, so your urls are not namespaced.
>>
>> OK. (I misunderstood the 1.9 docu as this would be required only with
>> instance namespaces).
>>
>>
>> Also, the urlconf parameter to reverse() should point to the root
>> urlconf, not to the urlconf in which your current url is defined. Since it
>> defaults to the root urlconf defined in your project, it's easiest to omit
>> it in most cases. If you don’t, and use 'authentication.urls' as your
>> root urlconf, the generated url will miss the 'authentication/' part of
>> your url.
>>
>> I understand.
>>
>>
>>
>> To reverse the password_change url, simply use this:
>>
>> reverse(‚password_change')
>>
>> Making both changes gives:
>> django.core.urlresolvers.NoReverseMatch: Reverse for 'password_change'
>> with arguments '()' and keyword arguments '{}' not found. 0 pattern(s)
>> tried: []
>>
>> I then tried to reference the views directly instead of strings:
>>
>> from . import views
>> reverse(views.password_change),
>>
>> with views.py containing:
>>
>> class PasswordChangeView(LoginRequiredMixin, AuthDecoratorsMixin,
>> WithCurrentSiteMixin, FormView):
>> ...
>>
>> password_change = PasswordChangeView.as_view()
>>
>> and got;
>>
>> django.core.urlresolvers.NoReverseMatch: Reverse for
>> 'authentication.views.PasswordChangeView' with arguments '()' and keyword
>> arguments '{}' not found. 0 pattern(s) tried: []
>>
>> Axel
>>
>>
>>
>> Marten
>>
>>
>> On Monday, December 14, 2015 at 1:37:56 PM UTC+1, [email protected] wrote:
>>>
>>> In my root url, I have:
>>>
>>> url(r'^authentication/', include('authentication.urls')),
>>>
>>> in authentication/urls.py, I have no app_name declared.
>>>
>>> In a module in authentication, I have
>>>
>>> from django.core.urlresolvers import reverse
>>>
>>> from django.apps import apps
>>> print('authentication installed? ' +
>>> str(apps.is_installed('authentication')))
>>>
>>>
>>>
>>> reverse('authentication:password_change',urlconf='authentication.urls')
>>>
>>>
>>> and receive
>>> django.core.urlresolvers.NoReverseMatch: 'authentication' is not
>>> a registered namespace
>>> while the above debug print gives
>>> authentication installed? True
>>>
>>> What am I doing wrong here?
>>>
>>> Please advice,
>>> Axel
>>> —
>>> PGP-Key:29E99DD6 ☀ +49 160 9945 7889 ☀ computing @ chaos claudius
>>>
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Django users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at https://groups.google.com/group/django-users.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/django-users/fc585533-0cb4-4419-8944-b38cbf4b472c%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/django-users/fc585533-0cb4-4419-8944-b38cbf4b472c%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>> ---
>> PGP-Key:29E99DD6 ☀ +49 160 9945 7889 ☀ computing @ chaos claudius
>>
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected] <javascript:>.
> To post to this group, send email to [email protected]
> <javascript:>.
> Visit this group at https://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/e8700750-d783-4636-926e-6a73c2fb6f6b%40googlegroups.com
>
> <https://groups.google.com/d/msgid/django-users/e8700750-d783-4636-926e-6a73c2fb6f6b%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
>
> ---
> PGP-Key:29E99DD6 ☀ +49 160 9945 7889 ☀ computing @ chaos claudius
>
>
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/11023179-3040-4f1d-b19b-37670b4bed71%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.