我试图在 Django 中创建一个上传文件的函数。我第一次运行代码时,无法上传文件。所以,我试图改进我的代码以及我得到的错误。我认为这个错误很奇怪,因为我一直使用它并且从未收到错误。我将展示我的代码。
models.py
class UploadFiles(models.Model):
File = models.ImageField(upload_to = 'Images/', default='Images/')
views.py
def upload_file(request):
if request.method == 'POST':
form = UploadFile(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('home')
else:
form = UploadFile()
return render(request, 'girl/upload.html', {'form': form})
forms.py
class UploadFile(forms.Form):
title = forms.CharField(max_length=50)
file = forms.FileField
上传.html
{% extends 'girl/base.html' %}
{% block content %}
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Upload</button>
</form>
<p><a href="{% url '/' %}">Return to home</a></p>
{% endblock %}
错误:
django.urls.exceptions.NoReverseMatch: Reverse for '/' not found. '/' is not a valid view function or pattern name.
urls.py
url(r'^cat/upload/$', views.upload_file, name='uploads')
如有任何帮助,我们将不胜感激。
最佳答案
这是错误所在的行
<p><a href="{% url '/' %}">Return to home</a></p>
更改为
<p><a href="{% url 'name of the route' %}">Return to home</a></p>
并在您的表格中
class UploadFile(forms.ModelForm)
class Meta:
model=UploadFiles
fields ='__all__'
关于python - 上传 django 中的任意文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45231793/