Как я могу удалить или загрузить нужный документ из папки, нажав на кнопку веб-страницы? - PullRequest
0 голосов
/ 28 января 2019

Допустим, пользователь не может найти папку на компьютере, поэтому проще управлять файлами папки на веб-странице.Мне удается показать файл папки документов на веб-странице / Вот эта веб-страница /, затем я пытаюсь загрузить или удалить нужный документ, но я получаю некоторые ошибки.

Я пытаюсь использоватьos.path.exists () и os.remove (), чтобы удалить документ, но, насколько я понимаю, я не создаю свой шаблон URL-адресов правильно и не передаю правильный аргумент моему HTML-шаблону.

Здесьмой код:

urls.py:

....
path('edited_agreements/', views.delete_new_file, name='delete_new_file'),
]
if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)

views.py

def new_files_list(request):
    path = MEDIA_ROOT
    new_files_list = []
    for file in os.listdir(path):
        if file.endswith('.doc') or file.endswith('.docx'):
            new_files_list.append(file)
    return render(request, 'uploads/new_files_list.html', {
        'new_files': new_files_list
    })


def delete_new_file(request, path):
    if request.method == 'POST':
        file_path = os.path.join(MEDIA_ROOT, path)
        if os.path.exists(file_path):
            os.remove(file_path)
    return redirect('new_files_list')

.html

....
<tbody>
    {% for new_file in new_files %}
    <tr>
        <td>{{ new_file }}</td>
        <td>
            <form method="post" action="{{ new_file.path }}" target="_blank">
                {% csrf_token %}
                <button type="submit" class="btn btn-danger btn-sm">Download</button>
            </form>
        </td>
        <td>
            <form method="post" action="{{ new_file }}">
                {% csrf_token %}
                <button type="submit" class="btn btn-danger btn-sm">Delete</button>
            </form>
        </td>
    </tr>
    {% endfor %}
</tbody>
....

Когда я нажимаю наудалить Я хочу, чтобы файл был удален с моей веб-страницы и из папки, а когда я хочу скачать, файл должен быть загружен.Теперь я получаю следующую ошибку:

The current path, edited_agreements/222222.docx, didn't match any of these. 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...