如何在django中传递在基于类的视图中使用请求的上下文变量?

如何在django中传递在基于类的视图中使用请求的上下文变量?,django,Django,在我的其他视图中,我传入以下上下文变量 选项卡:“文档” authenticated:request.user.is\u经过身份验证 Exec:(“Exec”在组中) ElectionOfficer:(“ElectionOfficer”分组) Staff:request.user.is\u Staff Username:request.user.Username URL\u ROOT:settings.URL\u ROOT 访问使用/multipleurl呈现的页面时,如何传入这些完全相同的变量

在我的其他视图中,我传入以下上下文变量

选项卡:“文档”

authenticated:request.user.is\u经过身份验证

Exec:(“Exec”在组中)

ElectionOfficer:(“ElectionOfficer”分组)

Staff:request.user.is\u Staff

Username:request.user.Username

URL\u ROOT:settings.URL\u ROOT

访问使用
/multiple
url呈现的页面时,如何传入这些完全相同的变量

在my
url.py中

url(r'^multiple$', views.SubmissionUploadPage.as_view(), name='multiple_example')
class MultipleFileExampleForm(BaseForm):
    input_file = MultipleUploadedFileField()

    def save(self):
        example = UserSubmission.objects.create(
            title=self.cleaned_data['title']
        )
        for f in self.cleaned_data['input_file']:
            UploadedFile.objects.create(
                example=example,
                input_file=f
            )

        self.delete_temporary_files()
class BaseFormView(generic.FormView):
    template_name = 'file_uploads/example_form.html'

    def get_success_url(self):
        return reverse('success')

    def form_valid(self, form):
        form.save()
        return super(BaseFormView, self).form_valid(form)

class SubmissionUploadPage(BaseFormView):
    form_class = forms.MultipleFileExampleForm
在my
forms.py中

url(r'^multiple$', views.SubmissionUploadPage.as_view(), name='multiple_example')
class MultipleFileExampleForm(BaseForm):
    input_file = MultipleUploadedFileField()

    def save(self):
        example = UserSubmission.objects.create(
            title=self.cleaned_data['title']
        )
        for f in self.cleaned_data['input_file']:
            UploadedFile.objects.create(
                example=example,
                input_file=f
            )

        self.delete_temporary_files()
class BaseFormView(generic.FormView):
    template_name = 'file_uploads/example_form.html'

    def get_success_url(self):
        return reverse('success')

    def form_valid(self, form):
        form.save()
        return super(BaseFormView, self).form_valid(form)

class SubmissionUploadPage(BaseFormView):
    form_class = forms.MultipleFileExampleForm
在my
views.py中

url(r'^multiple$', views.SubmissionUploadPage.as_view(), name='multiple_example')
class MultipleFileExampleForm(BaseForm):
    input_file = MultipleUploadedFileField()

    def save(self):
        example = UserSubmission.objects.create(
            title=self.cleaned_data['title']
        )
        for f in self.cleaned_data['input_file']:
            UploadedFile.objects.create(
                example=example,
                input_file=f
            )

        self.delete_temporary_files()
class BaseFormView(generic.FormView):
    template_name = 'file_uploads/example_form.html'

    def get_success_url(self):
        return reverse('success')

    def form_valid(self, form):
        form.save()
        return super(BaseFormView, self).form_valid(form)

class SubmissionUploadPage(BaseFormView):
    form_class = forms.MultipleFileExampleForm

您可以覆盖
get\u context\u data
,并注入以下值:

from django.conf import settings

class BaseFormView(generic.FormView):
    template_name = 'file_uploads/example_form.html'

    def get_context_data(self, *args, **kwargs):
        kwargs.update(
            tab='documents',
            authenticated=self.request.user.is_authenticated,,
            Exec=self.request.users.groups.filter(name='Exec').exists(),
            ElectionOfficer=self.request.users.groups.filter(name='ElectionOfficer').exist(),
            Staff=self.request.user.is_staff,
            Username=self.request.user.username,
            URL_ROOT: settings.URL_ROOT
        )
        return super().get_context_data(*args, **kwargs)

    def get_success_url(self):
        return reverse('success')

    def form_valid(self, form):
        form.save()
        return super(BaseFormView, self).form_valid(form)
来自django.conf导入设置的

类BaseFormView(generic.FormView):
template\u name='file\u uploads/example\u form.html'
def获取上下文数据(self、*args、**kwargs):
kwargs.update(
tab='documents',
authenticated=self.request.user.is_authenticated,,
Exec=self.request.users.groups.filter(name='Exec').exists(),
ElectionOfficer=self.request.users.groups.filter(name='ElectionOfficer').exist(),
Staff=self.request.user.is\u Staff,
用户名=self.request.user.Username,
URL\u ROOT:settings.URL\u ROOT
)
return super().获取上下文数据(*args,**kwargs)
def get_success_url(自我):
返回反向(“成功”)
def表单_有效(自身、表单):
form.save()

返回super(BaseFormView,self)。form\u valid(form)
您可以覆盖
获取上下文\u数据
,并注入以下值:

from django.conf import settings

class BaseFormView(generic.FormView):
    template_name = 'file_uploads/example_form.html'

    def get_context_data(self, *args, **kwargs):
        kwargs.update(
            tab='documents',
            authenticated=self.request.user.is_authenticated,,
            Exec=self.request.users.groups.filter(name='Exec').exists(),
            ElectionOfficer=self.request.users.groups.filter(name='ElectionOfficer').exist(),
            Staff=self.request.user.is_staff,
            Username=self.request.user.username,
            URL_ROOT: settings.URL_ROOT
        )
        return super().get_context_data(*args, **kwargs)

    def get_success_url(self):
        return reverse('success')

    def form_valid(self, form):
        form.save()
        return super(BaseFormView, self).form_valid(form)
来自django.conf导入设置的

类BaseFormView(generic.FormView):
template\u name='file\u uploads/example\u form.html'
def获取上下文数据(self、*args、**kwargs):
kwargs.update(
tab='documents',
authenticated=self.request.user.is_authenticated,,
Exec=self.request.users.groups.filter(name='Exec').exists(),
ElectionOfficer=self.request.users.groups.filter(name='ElectionOfficer').exist(),
Staff=self.request.user.is\u Staff,
用户名=self.request.user.Username,
URL\u ROOT:settings.URL\u ROOT
)
return super().获取上下文数据(*args,**kwargs)
def get_success_url(自我):
返回反向(“成功”)
def表单_有效(自身、表单):
form.save()
返回super(BaseFormView,self)。表单\u有效(表单)