On 4/5/06, PythonistL <[EMAIL PROTECTED]> wrote:
>
> Limodou,
> Thanks for replies.
> I am also working on a application that more users should be used by.
> So, I would like to learn a little more how to create
>  url dynamicly( on fly). Can you please let me know where in you
> file(s) you make that.
> Thanks a lot
> L.
>

First you should define url pattern in urls.py, just like:

in ursl.py you will find:

    (r'^blog/(?P<user_name>.*?)/', include('apps.woodlog.urls')),

and in apps/woodlog/urls.py you will find:

urlpatterns = patterns('',
    
(r'^(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/(?P<object_id>\d+?).html$',
'apps.woodlog.views.detail'),
    (r'^(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/$',
'apps.woodlog.views.day'),
    (r'^(?P<year>\d{4})/(?P<month>\d{1,2})/$', 'apps.woodlog.views.month'),
    (r'^/?$', 'apps.woodlog.views.index'),
    (r'^categories/(?P<category>\w+)/?$', 'apps.woodlog.views.view_category'),
    
(r'^(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/(?P<object_id>\d+?).html/addcomment/$',
'apps.woodlog.views.add_comment'),
)

So from two level url parsing, you will get 'username' and other
parameter. And you can process username in your view code, just like:

def index(request, user_name):
    try:
        user = User.objects.get(username=user_name)
    except ObjectDoesNotExist:
        return Http404(), "Doesn't exist this user!"
    objects = user.entry_set.entries()
    page = Page(request, objects, paginate_by=__get_paginate_by(user),
urlprefix=get_app_root('blog') + '/' + user_name + '/')
    context = RequestContext(request, {'page':page, 'blog_id':user_name})
    return theme_render_to_response('woodlog/list', user,
context_instance=context)

So the user is retrieved from User model according to username. And
later, I pass the user_name as 'blog_id' in RequestContext, so I can
use the 'blog_id' variable in template.

In templte just like woodlog/list, you can use 'blog_id' to create your url:

<a href="/blog/{{ blog_id }}">{{ blog_id }}</a>

That's all.



--
I like python!
My Blog: http://www.donews.net/limodou
My Django Site: http://www.djangocn.org
NewEdit Maillist: http://groups.google.com/group/NewEdit

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users
-~----------~----~----~----~------~----~------~--~---

Reply via email to