Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » По поводу url (отбрасывает на главную страницу) [RSS Feed]

#1 Окт. 12, 2010 12:22:40

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

По поводу url (отбрасывает на главную страницу)

Снова я и снова проблема. Но проблема теперь в изучении url
Давайте вначале с кодом разберемся
urls.py

url(r'^list/$', 'simple.direct_to_template',
kwargs={
'template': 'person/list.html',
'extra_context': {'persons': lambda: Person.objects.all()}
},
name='list'),
models.py
class Person(models.Model):
login = models.CharField(max_length = 150, verbose_name = "Логин")
passwd = models.CharField(max_length = 150, verbose_name = "Пароль")
timestamp = models.DateTimeField(auto_now_add = True)

def __unicode__(self):
return self.login

class Meta:
verbose_name_plural = "Пользователи"
list.html
{% for person in persons %}
{{ person.login }}
{% endfor %}
Иду по заданному адресу (все остальные работают прекрасно) http://localhost/list и меня выбрасывает снова на http://localhost
Ошибок никаких не дает, все типа верно. Но перенаправляет почему-то.. В чем ошибка у меня?



Офлайн

#2 Окт. 12, 2010 13:42:19

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

По поводу url (отбрасывает на главную страницу)

Какую отладку вы производили? Как выглядит весь урлспай?

dissdoc
http://localhost/lis
А паттерн у вас со слешом на конце.



Офлайн

#3 Окт. 12, 2010 13:45:54

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

По поводу url (отбрасывает на главную страницу)

Весь urls.py выглядит вот так (я пока тут играюсь, поэтому правил кое-что.. но все равно не срабатывает)

from django.conf.urls.defaults import *
from src.person.views import *

urlpatterns = patterns('',
url(r'^register/$', register, name='register'),
url(r'^login/$', login, name='login'),
url(r'^logout/$', logout, name='logout'),
url(r'^(?P<login>\w+)/$', profile),
url(r'^list/$', 'django.views.generic.simple.direct_to_template',
kwargs={
'template': 'person/list.html',
'extra_context': {'persons': lambda: Person.objects.all()}
},
name='list'),
)
А отладку вручную пробовал разные урлы.. Все по крайней мере выводит либо в дебаг, либо на нужные страницы.. кроме вот этой ссылки…
Я не очень селен в отладке пока. Поэтому готов выслушать советы



Офлайн

#4 Окт. 12, 2010 14:12:18

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

По поводу url (отбрасывает на главную страницу)

Что написано в консоле при запросе страницы?

dissdoc
'^(?P<login>\w+)/$',
Как вы думаете, “list/” подходит по эту регулярку?:



Офлайн

#5 Окт. 12, 2010 14:17:04

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

По поводу url (отбрасывает на главную страницу)

:)
Ну вот что ты будешь делать!
Спасибо!



Офлайн

#6 Окт. 12, 2010 14:42:05

vaxXxa
От: Kyiv, Ukraine
Зарегистрирован: 2009-06-16
Сообщения: 278
Репутация: +  0  -
Профиль   Отправить e-mail  

По поводу url (отбрасывает на главную страницу)

Офф топ: А зачем в

'extra_context': {'persons': lambda: Person.objects.all()}
lamda-функция?
Почему нельзя без нее?

Это я так - для себя спрашиваю.))



Офлайн

#7 Окт. 12, 2010 14:51:34

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

По поводу url (отбрасывает на главную страницу)

vaxXxa
Почему нельзя без нее?
Можно



Офлайн

#8 Окт. 12, 2010 15:05:56

vaxXxa
От: Kyiv, Ukraine
Зарегистрирован: 2009-06-16
Сообщения: 278
Репутация: +  0  -
Профиль   Отправить e-mail  

По поводу url (отбрасывает на главную страницу)

Или это сделано, чтобы Person.objects.all() каждый раз высчитывалось, так как без лямбда кажись не будет постоянно считать?



Офлайн

#9 Окт. 12, 2010 15:13:12

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

По поводу url (отбрасывает на главную страницу)

vaxXxa
Или это сделано, чтобы Person.objects.all() каждый раз высчитывалось, так как без лямбда кажись не будет постоянно считать?
В это случае да.

Обычно во вьюхах берут _clone() от queryset и при каждом вызове делают запрос.



Офлайн

#10 Окт. 12, 2010 15:42:50

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

По поводу url (отбрасывает на главную страницу)

Да, хотел написать почему)) Ну и скорость ответа ))) Опередили. Да, в основном через queryset, но я где-то увидел через lambda. На самом деле дело вкуса



Офлайн

  • Начало
  • » Django
  • » По поводу url (отбрасывает на главную страницу)[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version