In Django app models, how to get the url prefix -


i writing django blog app named blogengine in root urls.py:

url(r'^blog/', include('blogengine.urls')), 

in blogengine/models.py

class post(models.model):     title = models.charfield(max_length=200)     pub_date = models.datetimefield()     text = models.textfield()      def get_absolute_url(self):         return "/blog/post/%s/" % self.id 

here defined function get_absolute_url hard coding /blog/ prefix. how prevent hard code , using way prefix in root_urlconf

you can use reverse resolution of named url. here link detail https://docs.djangoproject.com/en/1.8/topics/http/urls/#reverse-resolution-of-urls

here example.

url(r'^post/(?p<id>\d+)/$', post_view, name='post_detail'), 

this model. django.core

from django.core.urlresolvers import reverse  class post(models.model):     title = models.charfield(max_length=200)     pub_date = models.datetimefield()     text = models.textfield()      def get_absolute_url(self):         return reverse('post_detail', kwargs={'id': self.id}) 

Comments