Файл не записывается

Я работаю над веб-сайтом с django и в настоящее время пытаюсь добавить способ для пользователей загрузить файл на веб-сайт и просто для тестирования, чтобы он записывал на мой ПК.

Но проблема в том, что на мой рабочий стол ничего не записывается. Я не получаю никаких ошибок, просто ничего не записывается. Файл, с которым я тестирую, - это jpeg.

Функция:

def download_file(filename):
    with open(r'C:\Users\kenco\OneDrive\Desktop\file.jpg', 'wb+') as destination:
        destination.write(filename)

Вид django:

def file_form(request):
    if request.method == 'POST':
        form = file_uploader(request.POST,request.FILES)
        if form.is_valid():
            download_file(filename=request.FILES['file'])
            return HttpResponseRedirect('/success')
    else:
        form = file_uploader()

    return render(request, 'home_page.html', {'form' : form})

Форма:

from django import forms    

class file_uploader(forms.Form):
    question = forms.CharField(max_length=100)
    image = forms.FileField()

Я попытался просто записать на рабочий стол, и это не сработало. Я пытался сделать строку без r. И я пытался записать его без .jpg

Этот код также основан на документации по django: https://docs.djangoproject.com/en/5.1/topics/http/file-uploads/

Я нашел ответ

Возникла проблема с моими ссылками

Он перешел от:

urlpatterns= [
    path('home/', TemplateView.as_view(template_name="home_page.html"), name='home_page'),
    path('forms/', views.file_form, name='file_form')
] 

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', TemplateView.as_view(template_name="home_page.html"), name='home_page'),
    path('file/', include('home.urls'))
]

To:

urlpatterns = [
    path('home/', TemplateView.as_view(template_name="home_page.html"), name='home_page'),
    path('forms/', views.file_form, name='file_form'),
]

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('home.urls')),
]

Вернуться на верх