Форум сайта python.su
Снова я и снова проблема. Но проблема теперь в изучении url
Давайте вначале с кодом разберемся
urls.py
url(r'^list/$', 'simple.direct_to_template',
kwargs={
'template': 'person/list.html',
'extra_context': {'persons': lambda: Person.objects.all()}
},
name='list'),
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 = "Пользователи"
{% for person in persons %}
{{ person.login }}
{% endfor %}
Офлайн
Какую отладку вы производили? Как выглядит весь урлспай?
dissdocА паттерн у вас со слешом на конце.
http://localhost/lis
Офлайн
Весь 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'),
)
Офлайн
Что написано в консоле при запросе страницы?
dissdocКак вы думаете, “list/” подходит по эту регулярку?:
'^(?P<login>\w+)/$',
Офлайн
:)
Ну вот что ты будешь делать!
Спасибо!
Офлайн
Офф топ: А зачем в
'extra_context': {'persons': lambda: Person.objects.all()}
Офлайн
vaxXxaМожно
Почему нельзя без нее?
Офлайн
Или это сделано, чтобы Person.objects.all() каждый раз высчитывалось, так как без лямбда кажись не будет постоянно считать?
Офлайн
vaxXxaВ это случае да.
Или это сделано, чтобы Person.objects.all() каждый раз высчитывалось, так как без лямбда кажись не будет постоянно считать?
Офлайн
Да, хотел написать почему)) Ну и скорость ответа ))) Опередили. Да, в основном через queryset, но я где-то увидел через lambda. На самом деле дело вкуса
Офлайн