【发布时间】:2020-02-11 15:19:24
【问题描述】:
我一直在用 Django 开发这个音乐网站,基本上只是想让上传视图正常工作。当您上传音乐文件时,我希望它重定向到结果页面。我在尝试使重定向工作时遇到了真正的麻烦,它应该非常简单,但一直没有工作。任何帮助将不胜感激!!我的错误:
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})
上传/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 %}
【问题讨论】:
-
您在访问
/uploads/home/时遇到了这个错误,对吧?还是在您点击表单上的提交后? -
访问上传/主页,是的。这是因为我提交时的重定向是错误的
-
哦,是的,我明白了,您的上传视图只是与错误相关的一部分,而不是整个视图功能。
-
是的,正确,这仅适用于一个视图,因为我的其他视图工作正常
标签: python django file-upload django-views