我正在创建一个文件上传页面,其中包含文件上传模型:
models.py
class Upload(models.Model):
file = models.FileField(blank=True, null=True, validators=[validate_file_extension])
upload_date = models.DateTimeField(auto_now_add=True)
class Meta:
permissions = (
('can_upload_x', 'Can Upload X'),
('can_upload_y', 'Can Upload Y'),
('can_upload_z', 'Can Upload Z'),
)
forms.py
class UploadFileForm(forms.ModelForm):
class Meta:
model = Upload
fields = ['file']
HTML
{% if perms.app.can_upload_x %}
<form action="#" method="post" enctype="multipart/form-data">
<input type='hidden' name='action' value='x'>
{% csrf_token %} {{form_x}}
<input type="submit" value="Upload" id="weights_btn" name="weights_btn"
class="btn btn-default btn-file"/>
</form>
{%endif%}
#etc for X, Y, Z, ....
因此,最终目标是分配给管理员的某些权限的用户,例如'can_upload_x',只能看到X等表单(我在视图中使用handle_uploaded_file将不同的表单保存到不同的位置)。
我做错了什么?似乎不起作用。但是,当我为每个表单创建一个模型时,它确实有效,但由于我可能需要有很多不同的表单,所以我的项目不可行。
谢谢!
答案 0 :(得分:0)
{% if perms.app_label.can_do_something %}
<form here>
{% endif %}
是由app_label
命名的app
?