Python Django 2.2-使用数据url html属性上载图像时出现问题
我已经看到Django的NoReverseError在这里发布了很多次,但是没有一个解决方案在这个特定的实例中有效 我的主要目标是在我的对象创建表单中创建一个图像上载字段,将多个图像上载到单个模型对象。我之所以这么做是因为最终产品非常适合 本教程指定“数据url”属性应指向处理文件表单的路径/视图 表单本身工作正常,url“/showroom/create”也工作正常 为了使Ajax表单适合我的大型项目,我必须更改一些属性:Python Django 2.2-使用数据url html属性上载图像时出现问题,python,django,ajax,forms,image,Python,Django,Ajax,Forms,Image,我已经看到Django的NoReverseError在这里发布了很多次,但是没有一个解决方案在这个特定的实例中有效 我的主要目标是在我的对象创建表单中创建一个图像上载字段,将多个图像上载到单个模型对象。我之所以这么做是因为最终产品非常适合 本教程指定“数据url”属性应指向处理文件表单的路径/视图 表单本身工作正常,url“/showroom/create”也工作正常 为了使Ajax表单适合我的大型项目,我必须更改一些属性: 为了保持一致性,请将“照片”改为“图像” 我不使用基本上传视图,因为它
class CarCreate(CreateView):
model = Car
fields = '__all__'
success_url = reverse_lazy('showroom:car-detail')
slug_field = 'id'
slug_url_kwarg = 'car_create'
def get(self, request):
image_list = Car.objects.all()
return render(self.request, 'showroom/car_form.html', {'images': image_list})
def post(self, request):
form = ImageForm(self.request.POST, self.request.FILES)
if form.is_valid():
image = form.save()
data = {'is_valid': True, 'name': image.file.name, 'url': image.file.url}
else:
data = {'is_valid': False}
return JsonResponse(data)
相关模板标记:
<button type="button" class="btn btn-primary js-upload-photos">
<span class="glyphicon glyphicon-cloud-upload"></span>Upload images
</button>
<input id="fileupload" type="file" name="file" multiple
style="display: none;"
data-url="{% url 'showroom:images:image_upload' %}"
data-form-data='{"csrfmiddlewaretoken": "{{ csrf_token }}"}'>
在阅读了其他Stackoverflow答案后,我尝试了几种不同的解决方案:
1.这不是名称空间错误,因为我已经附加了“showroom:images”。
2.问题在于:
'data-url="{% url 'showroom:images:image_upload' %}"'
我知道,因为如果我将数据url更改为“#”,页面加载良好,但无法正常工作
编辑以获取更多信息
我读过这篇文章,但它并没有清楚地解决我的问题。如果我正确理解从反向函数生成urlse的其他Stackoverflow应答地址
我的问题不是url本身,showroom/create/works非常好。我的问题来自于我试图创建的图像上传表单,我已经指出了生成错误的特定行
是否需要其他信息
编辑2
我还将添加我的应用程序名为“showroom”,并且我在应用程序的urlconf页面中定义了app_name变量
查看其他页面后,大多数页面都有一些明确定义的上下文
名称,然后在模板中调用这些名称。有没有什么方法可以让我在表格上这样做
我一直在尝试另一个的答案,比如嵌套名称空间('showroom:images:image_upload'),到目前为止,没有任何乐趣 两个应用程序的show your
urls.py
文件可能重复。此image\u上传
URL定义在哪里?这是一个名称空间问题:正如错误所说,很明显,在展厅
中没有图像
名称空间。显示图像
URL及其包含方式。因此,我应该将图像路由到何处?
Exception Type: NoReverseMatch at /showroom/create/
Exception Value: 'images' is not a registered namespace inside 'showroom'
'data-url="{% url 'showroom:images:image_upload' %}"'