如何解决追加斜杠的Django POST URL错误

2024-09-29 21:56:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将我的表单POST数据放到下一页,但出现了错误

You called this URL via POST, but the URL doesn't end in a slash and you have APPEND_SLASH set. Django can't redirect to the slash URL while maintaining POST data. Change your form to point to 127.0.0.1:8000/robustSearch/ (note the trailing slash), or set APPEND_SLASH=False in your Django settings.

my URL.py文件

from django.urls import path
from . import views


urlpatterns = [
    path('', views.home, name='home'),
    path('search_titles', views.searchTitles, name='search_titles'),
    path('stats/', views.dataStats, name='stats'),

    path('robustSearch/', views.robustSearch, name='robustSearch'),
]

和my views.py文件

def robustSearch(request):
    
    if request.method == 'POST':
        file = request.FILES['titles_file']
        df = pd.read_csv(file)
        df.dropna(inplace=True)
        counting = df.counts()
    context={
        'counting': counting,
    }
    return render(request, 'result_titles.html', context)

我的邮寄文件是

<form action="robustSearch" method="POST" enctype="multipart/form-data">
{% csrf_token %}
<div class="form-inline">
     <input type="file" name="titles_file" class="form-control input-sm mr-2">
     <button type="submit" class="btn btn-primary">Search</button>
</div>  
</form>

任何人都可以指出我哪里做错了,或者我如何才能实现这个目标


Tags: 文件thetopathnameformurldf
1条回答
网友
1楼 · 发布于 2024-09-29 21:56:56

URL应为:

<form action="/robustSearch/" method="POST" enctype="multipart/form-data">
  …
</form>

但最好与^{} template tag [Django-doc]一起工作:

<form action="{% url 'robustSearch' %}" method="POST" enctype="multipart/form-data">
  …
</form>

相关问题 更多 >

    热门问题