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