Это легко сделать в виде:
from django.core.urlresolvers import reverse
url = request.build_absolute_uri(reverse('blog:detail', args=[blog.slug]))
Если вам нужно сделать это в шаблоне, вы можете создать собственный тег шаблона без особых проблем.
Редактировать
Предполагая, что вы хотите сделать это в вашем Home
зрения, вы могли бы сделать что-то вроде этого:
def Home(request):
posts = Article.objects.filter(published=True).order_by('-publish')
site = Site.objects.get_current()
c = RequestContext(request, {
'posts': [{'post': post,
'url': request.build_absolute_uri(reverse('blog:detail', args=[post.slug]))}
for post in posts]
'site': site,
})
return render_to_response('templates/index.html', c)
Тогда в шаблоне, пока вы зацикливание с {% for postobj in posts %}
вы можете доступ postobj.post
и postobj.url
.
возможный дубликат [Джанго полный URL в прибудете \ _absolute \ _url] (http://stackoverflow.com/questions/3994060/django- full-url-in-get-absolute-url) – karthikr
https://docs.djangoproject.com/ru/dev/ref/request-response/#django.http.HttpRequest.build_absolute_uri Это может вам помочь. –