Django-HTML: Подсказка, запрашивающая пароль при нажатии кнопки
Я хотел бы добавить подсказку каждый раз, когда кто-то пытается нажать кнопку "Удалить" и "Скачать" файл (в моем проекте можно загружать файлы с паролями, так что если кто-то хочет удалить/скачать файл, ему нужно ввести пароль). Сам пароль сохраняется в models.py с помощью django - как бы я мог сделать это в своем коде (перечисляя мои viwes.py к html коду, urls.py, models.py, forms.py, сам HTML CODE). Большое спасибо.
@login_required(login_url='login')
def My_Files(request):
files = File.objects.all()
return render(request, 'home/My Files.html', {"files" : files})
path("MyFiles", views.My_Files, name="my_files"),
path("MyFiles/<int:pk>/", views.delete_file, name="delete_file"),
{% extends 'layouts/base.html' %}
{% load static %}
{% block title %} {% endblock title %}
<!-- Specific CSS goes HERE -->
{% block stylesheets %}{% endblock stylesheets %}
{% block content %}
{% include "includes/footer.html" %}
<h2>My Files</h2>
<table class="table">
<thead>
<tr>
<th>File Name</th>
<th>File Description</th>
<th>Uploaded By</th>
<th>Download</th>
<th>Delete</th>
</tr>
</thead>
<tbody>
{% for file in files %}
<tr>
<td> {{ file.File_Name }}</td>
<td> {{ file.File_Type }}</td>
<td> {{ file.Uploaded_By }}</td>
<td>
<a href="{{ file.File.url }}" class="btn btn-primary btn-sm" target="_blank">
Download File
</a>
</td>
<td>
<form method="post" action="{% url 'delete_file' file.pk %}">
{% csrf_token %}
<button type="submit" class="btn btn-dange btn-sm">Delete</button>
</form>
</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endblock content %}
<!-- Specific JS goes HERE -->
{% block javascripts %}
<script>
}
},
},
},
});
</script>
{% endblock javascripts %}
class File(models.Model):
File_Name = models.CharField(max_length=200, null=True)
File_Type = models.CharField(max_length=30, null=True)
Uploaded_By = models.CharField(max_length=90,default=None,blank=True, null=True)
Password = models.CharField(max_length=100, null=True)
File = models.FileField(upload_to='Files')
def __str__(self):
return self.File_Name
def delete(self, *args, **kwargs):
self.File.delete()
super().delete(*args, **kwargs)
def UploadedBy(self,username):
self.File.Uploaded_By = username
# Create your forms here.
class FileForm(forms.ModelForm):
class Meta:
model= File
fields= ["File_Name", "File_Type","Uploaded_By","Password","File"]
Вам следует определить форму с полем для ввода пароля, который проверяется на соответствие паролю конкретного файла, а затем добавить логику удаления или загрузки после вызова form.is_valid().