【发布时间】:2021-09-29 10:43:24
【问题描述】:
我是 Django 新手,我正在尝试创建一个应用程序,该应用程序将接受使用表单上传的多张图片,然后重定向到同一个上传页面并在表单下方显示上传的图片。
我的程序适用于上传,但我无法将其完全重定向回包含上传表单和图像的同一页面。
index.html(在模板文件夹中)
<form>
action="{% url 'fileapp:uploads' %}"
method="POST"
enctype="multipart/form-data" >
<input type="text" name="filename" placeholder="enter your file name" />
<input type="file" multiple name="uploadfoles" />
{% csrf_token %}
<button type="submit">File Upload</button>
</form>
<h3>Previously uploaded files: <br></h3>
{% for d in data %}
<p>{{d.f_name}} ---- <img width="50" src="{{d.myfiles.url}}" /></p>
{% endfor %}
views.py
from . models import myuploadfile
def index(request):
context = {
"data":myuploadfile.objects.all(),
}
return render(request,"index.html",context)
def send_files(request):
if request.method == "POST" :
name = request.POST.get("filename")
myfile = request.FILES.getlist("uploadfoles")
for f in myfile:
myuploadfile(f_name=name,myfiles=f).save()
return redirect("fileapp:index")
urls.py
from django.contrib import admin
from django.urls import path,include
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path("",include("myfileapp.urls",namespace="fileapp"))
]
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
每当我按下“文件上传”按钮时,应用程序应重定向回我们上传文件的同一页面,但我收到此错误:
NoReverseMatch 在 /upload 未找到“索引”的反向。 'index' 不是有效的视图函数或模式名称。
【问题讨论】:
-
你能检查一下 myfileapp.urls 文件,该文件包含一个带有 namespace="index" 的索引条目吗?似乎缺少命名空间。
标签: django