2011-01-31 2 views
0

В моем шаблоне, я использую метод в модели следующим образом ...Django шаблон, способный передавать параметры? Получение текущего пользователя

Модель определяется следующим образом:

class Category(model.Model): 

    title = models.CharField('title', max_length=255)  
    description = models.TextField('description', blank=True) 

    def pub_set(self): 
     ... 
     return somedata 

Шаблон используется что-то вроде этого:

{{ category.pub_set }} 

Я хочу, чтобы иметь возможность получить текущего пользователя в pub_set

ответ

1

Я не 100% ясно, что вы просите. Внутри Category.pub_set() вы пытаетесь получить доступ к request.user? Если это так, вы не можете этого сделать, к сожалению. Там может быть какой-то хак, который будет работать, но это не рекомендуется в Django.

Возможно, вы захотите проверить шаблонные теги, они позволят вам передать свою категорию и пользователя из шаблона, а затем выполнить то, что вам нужно, и вернуть результат. Вот ссылка на документацию.

http://docs.djangoproject.com/en/1.2/howto/custom-template-tags/#passing-template-variables-to-the-tag

Другой подход, чтобы сделать то, что вам нужно сделать, в представлении, а затем сохранить результат в контексте страницы, где он будет доступен в шаблоне.

Если бы у меня было немного больше информации о том, что вы пытаетесь сделать, это может облегчить вам направление в правильном направлении.

+0

Он хочет получить доступ к запросу в своих методах модели (из шаблона) –

+0

Используя include_tag, я решил, как я решил проблему, спасибо за вашу помощь! – neolaser

Смежные вопросы