2010-01-22 1 views
2

Должно быть, я страдаю от серьезной нехватки сна, но я в тупике. Я не могу понять, как получить директиву {% url %}, чтобы дать мне правильный URL-адрес. Итак, давайте начнем с основ ..Шаблоны шаблонов URL-адреса Python, дающие только часть абсолютного URL .. .. Должно быть недостаток сна.

urls.py

from people.views import employee_detail 

urlpatterns = patterns("", 
    url(r'/uid/(?P<id>[0-9]+)/$', employee_detail, {'template_name' : 'people/single.html'}, name = 'employee_view'), 
) 

views.py

from django.shortcuts import render_to_response, get_list_or_404 
from django.template import RequestContext 
from people.models import Employee, OfficeLocation 

def employee_detail(request, id, template_name = None): 
    """ 
     This will give you a full detailed information on a user 
     based off of there name. 
    """ 
    person = Employee.objects.get(id = id)   
    return render_to_response(template_name, _getDetail(person), 
           context_instance = RequestContext(request)) 

Наконец вот пример фрагмент моего people/single.html.

люди/single.html

<tr>
<td width="300px">Supervisor: <a href="{% url employee_view , id=supervisor_id %}">{{ supervisor }}</a></td> </tr>

Теперь я могу видеть, что я передаю правильные данные взад и вперед. Например, это приводит к в ссылке, которая в коде выглядит как

<td width="300px">Supervisor: <a href="//uid/415/">NAME</a></td>

Теперь то, что я делаю неправильно .. я пропускаю имя хоста часть URL .. Может кто-то пожалуйста, скажите мне, как для возврата «http://127.0.0.1:8000/uid/415» или каким-либо именем хоста?

Grr .. Это должно быть просто я знаю, что я страдал от лаковые сна ..

ответ

2

get_absolute_url является неправильным, и никогда не возвращает абсолютное (схема + имя хоста + порт) часть , Для этого аспекта вам необходимо использовать Sites framework (используя Site.objects.get_current()) и получить домен и т. Д. Отдельно.

Именование метода приподняло достаточно бровей, что Simon Willison has proposed replacing it entirely.

+0

Да, я тоже это видел - но тем не менее моя проблема остается ... Grr .. – rh0dium

+0

Итак, я сломался и использовал структуру сайтов. Как только я это сделаю, я дам вам кредит. Благодаря!! – rh0dium