То, как лучше всего работать с, Истекает заголовок в ASP.NET MVC?

Хорошо, я нашел рабочее решение для этого. Вот мое решение.

Я изменил forms.py следующим образом

from django import forms
from accounts.tasks import send_mail
from django.contrib.auth.forms import PasswordResetForm as PasswordResetFormCore


class PasswordResetForm(PasswordResetFormCore):
    email = forms.EmailField(max_length=254, widget=forms.TextInput(
        attrs={
            'class': 'form-control',
            'id': 'email',
            'placeholder': 'Email'
        }
    ))

    def send_mail(self, subject_template_name, email_template_name, context, 
                  from_email, to_email, html_email_template_name=None):
        context['user'] = context['user'].id

        send_mail.delay(subject_template_name=subject_template_name, 
                        email_template_name=email_template_name,
                        context=context, from_email=from_email, to_email=to_email,
                        html_email_template_name=html_email_template_name)

И измененный tasks.py похож на следующий

from __future__ import absolute_import, unicode_literals
from accounts.models import User
from django.contrib.auth.forms import PasswordResetForm


@shared_task
def send_mail(subject_template_name, email_template_name, context,
              from_email, to_email, html_email_template_name):
    context['user'] = User.objects.get(pk=context['user'])

    PasswordResetForm.send_mail(
        None,
        subject_template_name,
        email_template_name,
        context,
        from_email,
        to_email,
        html_email_template_name
    )
7
задан Simon_Weaver 16 February 2009 в 09:21
поделиться

1 ответ

  1. Нет, Вы не должны использовать этот метод. Однако я думаю, что это - вероятно, лучший метод для выбора, потому что это делает контроллер более тестируемым и менее веб-осведомленным. Альтернатива должна была бы установить заголовок вручную в Контроллере, как это:

    Ответ. AddHeader ("истекает", "четверг, 01 декабря 1994 16:00:00 GMT");

  2. Ну, средства управления атрибутом OutputCache, когда выполнения действия вообще, и когда это возвращается, кэшировали HTML вместо этого. Истекает говорит браузер, когда повторно выбрать HTML. Таким образом, я не назвал бы их взаимоисключающими, но они - конечно, две стороны той же монеты, и Вы правы думать, что Вам, возможно, не понадобятся оба. Я предложил бы рассмотреть спецификацию HTTP для решения то, что наиболее подходит для приложения.

3
ответ дан 7 December 2019 в 12:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: