
Untitled
By: a guest on
Jun 22nd, 2012 | syntax:
None | size: 1.61 KB | hits: 12 | expires: Never
django problem:captured parameter in parent urlconf , incude() and reverse match
urlpatterns = patterns(''
#if registered user/anonymous user visit someone's page
url(r'^/foo/users/(?P<username>w+)/app1/',include('app1.urls', namespace='myapp1')),
#if user is logged in in his own page
url(r'^app1/', include('app1.urls', namespace='myapp1')),
...
)
urlpatterns = patterns('',
# I expect this pattern receives the username parameter from above
url(r'^note/add/$', app1_views.add_note,
name='add_note'),
url(r'^note/add/$', app1_views.add_note,
{ 'username':None}, name='add_note_own'),
...
...
)
def add_note(request, username=None):
...
...
{% if request.user.is_authenticated %}
{%if in his/her own note page %}
<a href="{% url add_note_own %}">add note</a> Expected generated url: www.domain.com/app1/add
{%else}
<a href="{ %url add_note %}">add note</a> Expected generated url: www.domain.com/foo/jack/app1/add
{%endif%}
{% endif %}
urlpatterns = patterns('',
# I expect this pattern receives the username parameter from above
url(r'^note/add/(?P<username>[^/]+)/$', app1_views.add_note, name='add_note'),
# username is an optional argument, so no need to pass it
url(r'^note/add/$', app1_views.add_note, name='add_note_own'),
)
{% if request.user.is_authenticated %}
{% if page.owner == request.user %}
<a href="{% url add_note_own %}">add note</a>
{% else %}
<a href="{% url add_note request.user.username %}">add note to {{ request.user.username }}</a>
{% endif %}
{% endif %}