Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django:使文件字段仅对登录用户可用_Django_Django File Upload - Fatal编程技术网

Django:使文件字段仅对登录用户可用

Django:使文件字段仅对登录用户可用,django,django-file-upload,Django,Django File Upload,如何使文件字段仅可供登录用户下载?如果要向用户显示不同的表单,则需要不同的ModelForm(或仅表单)。此表单应如下所示: class FormWithoutFormField(RegularForm): class Meta: exclude = ('field_name',) 这将进入要显示的新窗体的内部。请注意,您正在扩展所使用的另一个表单。这应该保持所有内容的完整性,您可以简单地排除不需要的字段 然后需要检查用户是否登录到视图中的某个位置。也就是说,类似于:

如何使文件字段仅可供登录用户下载?

如果要向用户显示不同的表单,则需要不同的ModelForm(或仅表单)。此表单应如下所示:

class FormWithoutFormField(RegularForm):
    class Meta:
        exclude = ('field_name',)
这将进入要显示的新窗体的内部。请注意,您正在扩展所使用的另一个表单。这应该保持所有内容的完整性,您可以简单地排除不需要的字段

然后需要检查用户是否登录到视图中的某个位置。也就是说,类似于:

if request.user.is_authenticated():
    form_class = FormWithoutFileField
else:
    form_class = RegularForm
# Do whatever you did with the normal form, but now with the new form.

如果要向用户显示不同的表单,则需要使用不同的ModelForm(或仅使用表单)。此表单应如下所示:

class FormWithoutFormField(RegularForm):
    class Meta:
        exclude = ('field_name',)
这将进入要显示的新窗体的内部。请注意,您正在扩展所使用的另一个表单。这应该保持所有内容的完整性,您可以简单地排除不需要的字段

然后需要检查用户是否登录到视图中的某个位置。也就是说,类似于:

if request.user.is_authenticated():
    form_class = FormWithoutFileField
else:
    form_class = RegularForm
# Do whatever you did with the normal form, but now with the new form.

您没有解释django管理员或自定义模板是否需要它。如果是自定义模板/视图,则不需要其他表单,只需在模板中执行此操作即可

<div id="blah">
    {% if user.is_authenticated %}
        <a href="{{ somemodel.somefilefield.url }}">Download the file</a>
    {% else %}
        <p>No downloading for you!</p>
    {% endif %}
</div>

{%if user.u经过身份验证%}
{%else%}
没有下载为您

{%endif%}

前提是您已经阅读了django中的相关内容。

您没有解释django管理员或自定义模板是否需要它。如果是自定义模板/视图,则不需要其他表单,只需在模板中执行此操作即可

<div id="blah">
    {% if user.is_authenticated %}
        <a href="{{ somemodel.somefilefield.url }}">Download the file</a>
    {% else %}
        <p>No downloading for you!</p>
    {% endif %}
</div>

{%if user.u经过身份验证%}
{%else%}
没有下载为您

{%endif%}

如果您已经在django中阅读了相关内容。

您是使用通用视图,还是自己编写一个?你有什么代码?你是使用一个通用视图,还是自己编写一个?你有什么密码?