2012-02-28 1 views
-3
class Entry(models.Model): 
    .... 
    slug = models.SlugField(help_text = "You do not need to change this unless you want to change the url") 

class Meta: 
    verbose_name_plural = "Entries" 

def __unicode__(self): 
    return self.title 

def get_absolute_url(self): 
    cat = slugify(self.category)  
    return "%s/%s/" % (cat,self.slug) 

просмотров

def index(request): 
    all_entries = Entry.objects.filter(status=1) 
    treatments = all_entries.filter(category='treatments') 
    female = all_entries.filter(category='female') 
    male = all_entries.filter(category='male') 
    work = all_entries.filter(category='work') 

    return render_to_response('index.html',locals()) 

def entry_page(request,slug_add): 
    all_entries = Entry.objects.filter(status=1) 
    page = all_entries.get(slug=slug_add) 

    treatments = all_entries.filter(category='treatments') 
    female = all_entries.filter(category='female') 
    male = all_entries.filter(category='male') 
    work = all_entries.filter(category='work') 
    return render_to_response('index.html',locals()) 

URL

url(r'^$','hypno_pages.views.index'), 
url(r'^admin/', include(admin.site.urls)), 
url(r'^$','hypno_pages.views.index'), 
url(r'^(treatments|male|female|work)/(?P<slug_add>[a-zA-Z0-9-]+)/$','hypno_pages.views.entry_page'), 

шаблон

<div class="subnav ui-corner-all"> 
    <h3>xxxxx can help to treat any of the following conditions </h3> 
<ul class = 'float' >  
     {% for line in treatments|slice:":5" %} 
     <li ><a href='{{line.get_absolute_url}}'>{{ line.title }}</a></li> 
    {% empty %} 

     {% endfor %} 
    </ul> 
    <ul class = 'float'> 
    {% for line in treatments|slice:"5:10" %} 
     <li ><a href="{{line.get_absolute_url }}" >{{ line.title }}</a></li> 
    {% empty %} 
    {% endfor %} 
</ul> 
    ....... 

* редактировать * То есть код шаблона, просто усеченный его , другие части просто повторяются.Django URL поддерживает дублирование (Dynamic Navigation)

Моя проблема. У меня есть главная страница индекса с панелью навигации, в которой есть раскрывающийся список с большим количеством ссылок (которые будут добавлены динамически из базы данных, как только клиент добавит что-то. Теперь моя проблема в том, что в ссылке на навигацию скажем, я нажимаю ссылку «http://127.0.0.1:8000/treatments/what-to-do/». Я перехожу на связанную страницу, но теперь все ссылки в навигационной панели меняются на «http: //127.0 .0.1: 8000/treatment/what-to-do/treatment/what-to-do/'в соответствии с конкретной ссылкой. Я 1 неделя с Django и месяц с python, может быть, просто что-то не хватает. спасибо

+0

Итак, какой код вызывает вашу проблему, как вы думаете? – Marcin

+0

@ephan - Предлагаю вам опубликовать часть кода вашего шаблона, которая показывает, что эти сгенерированные ссылки. –

+0

@DominicRodger Я только что выставил код шаблона. – ephan

ответ

0

Для меня это похоже на то, что вы должны использовать абсолютную траекторию в своих «hrefs», поскольку, как вы ее используете, ссылка относительна и будет приложением (url-), к которым вы присоединились,

попробуйте <a href="/{{line.get_absolute_url }}" > вместо этого.

Также я бы использовал декоратор @pemarlink для вашей функции get_absolute_url. Посмотрите here.

+0

спасибо большое, попробовал это, не помог, и я боролся с постоянной ссылкой в ​​течение нескольких дней, url всегда показывает пустое. Я знаю, что большинство моих проблем являются основными, все еще учащимися. Теперь я собираюсь использовать django-context -процессоры для этой проблемы. – ephan