【问题标题】:How to redirect to same page after form action in django如何在 django 中的表单操作后重定向到同一页面
【发布时间】: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


【解决方案1】:

显然您的urls.py 中没有类似fileapp:index 的内容。尽管如此,您可以使用.

重定向到当前页面
return redirect('.')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-06
    • 1970-01-01
    • 1970-01-01
    • 2022-08-15
    • 1970-01-01
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多