Как перенаправить на ту же страницу после действия формы в django
Я новичок в Django и пытаюсь создать приложение, которое будет принимать загрузку нескольких изображений с помощью форм, а затем перенаправлять на одну и ту же страницу загрузки и отображать загруженные изображения чуть ниже формы.
Моя программа работает для загрузки, но затем я не могу точно перенаправить его обратно на ту же страницу, которая содержит форму загрузки и изображения.
index.html (в папке templates)
<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)
Когда я нажимаю кнопку 'File Upload', приложение должно перенаправлять на ту же страницу, где мы загружаем файлы, но я получаю эту ошибку:
NoReverseMatch at /upload Обратное соответствие для 'index' не найдено. 'index' не является допустимой функцией представления или именем шаблона.
Очевидно, что у вас нет ничего похожего на fileapp:index
в вашем urls.py
. Тем не менее, вы можете перенаправить на текущую страницу с помощью .
return redirect('.')