2013-11-02 4 views
0

Для каждого пользователя в моем приложении django я создаю статический файл .ical, который я хотел бы обслуживать. Есть ли CBV для этого и какой метод я бы переписал? Поскольку все мои взгляды класса на основе я бы скорее не использовать вид функции на основе с HttpResponse и @auth_required декоратора в соответствии с этим: Django: Serving a Download in a Generic Viewdjango-cbv serve защищенный паролем статический контент

ответ

1

Просто унаследовать от View модели и переопределить метод просмотра.

class ICalDownload(View): 
    def get(self, *args, **kwargs): 
     # return your response just like you would in a function view. 

Если вы хотите, чтобы защитить точку зрения, я хотел бы использовать django-braces. В противном случае, вам нужно использовать method_decorator на способ доставки:

@method_decorator(auth_required) 
def dispatch(self, *args, **kwargs): 
    return super(ICalDownload, self).dispatch(*args, **kwargs) 

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

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