Я работал над этим музыкальным сайтом в Джанго, в основном просто пытаясь заставить работать представление загрузки. Когда вы загружаете музыкальный файл, я хочу, чтобы он перенаправлял на страницу результатов. У меня были реальные проблемы с попыткой заставить работать редирект, и он должен быть очень простым, но просто не работал. Любая помощь будет принята с благодарностью! Моя ошибка:
ValueError в / uploads / home / Представление uploads.views.upload не возвращало объект HttpResponse. Вместо этого он вернул None.
uploads / views.py (соответствующий код ошибки):
def upload(request):
if request.method == 'POST':
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('uploads:results')
else:
form = UploadFileForm()
return render(request, 'uploads/upload.html', {'form': form})
uploads / urls.py
from django.urls import path
from . import views
app_name = 'uploads'
urlpatterns = [
path('home/', views.upload, name='index'),
path('<int:audiofile_id>/results/', views.ResultsView.as_view(), name='results'),
]
upload. html (шаблон загрузки)
{% extends 'uploads/base.html' %}
{% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %}
{% block content %}
<div class="container">
<div class="row">
<div class="col-lg-12 col-md-8">
{% for audiofile in audiofiles %}
<h1>{{ audiofile.title }}</h1>
</div>
</div>
<div class="row">
<div class="col-lg-12 col-md-8">
<form action="{% url 'uploads:results' audiofile_id %}" method="post" name = "form" enctype = "multipart/form-data">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit">
</form>
{% endfor %}
</div>
</div>
<!--<div class="row">-->
<!-- <div class="col-lg-8">-->
<!--<img src="{% static "uploads/loveLogo.jpg" %}" alt="lovelogo" class="img-fluid">-->
<!-- </div>-->
<!-- </div>-->
</div>
{% endblock %}