>
> 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.

Reply via email to