django - FileField Upload 在 Django 中无法按预期工作
问题描述
我有一个 Django 应用程序,它应该上传通过 Filefield 输入的文件以上传到特定路径,例如我有一个名为“Uploadfiles”的文件夹,所以我只希望在文件字段中输入的文件上传到那个文件夹。
我试过了,但我的文件没有上传到那个文件夹。
所以下面是我的代码:
class Uploadedfile(models.Model):
def file_path(self, filename):
return f'uploaded_files/{self.server}/{self.path.replace(":", "$", 1)}/{filename}'
files_to_upload = models.FileField(
upload_to=file_path,
default=None,
validators=[validate_file]
)
path = models.CharField(max_length=100)
server = MultiSelectField(choices=server_list)
salesforceticket = models.ForeignKey(
Salesforceticket,
related_name='uploadedfile',
on_delete=models.CASCADE
)
def __str__(self):
return str(self.salesforceticket)
视图.py
if request.method == 'POST':
filled_form = SnippetForm(request.POST, request.FILES)
filled_formset = FilesFormSet(request.POST, request.FILES)
if filled_form.is_valid() and filled_formset.is_valid():
salesforceticket = filled_form.save(commit=False)
SalesforceNumber = filled_form.cleaned_data['salesforceNumber']
sourcefile = filled_formset.cleaned_data['files_to_upload']
模板/文件.html
<form enctype="multipart/form-data" action="{% url 'files' %}" method="POST">
{% csrf_token %}
{{SnippetForm|materializecss}}
<br>
<table class="table form-table table-bordered table-sm">
<tbody>
<div class="large-4 columns">
<p style="text-align:left">I am a Python developer and I like Django.</p>
</div>
{% for form_data in formset %}
<tr class="item">
<td>
{{ form_data.files_to_upload|materializecss }}
</td>
</html>
由于是 Django 新手,我不知道我是否犯了任何错误。谁能帮我解决这个问题
解决方案
推荐阅读
- c++ - vs2015 cuda9.0 将 SHA1_Init 与 CUDA 实现链接,而不是 openssl cpu 库
- typescript - 使用构造函数注入测试类
- php - 无法通过 Html 表单以 PHP 发送电子邮件
- c - C:将结构的动态数组与字符串一起保存
- php - PHP -> Curl -> Soap 响应(从 xml 标签获取数据)
- python-3.x - Scrapy没有递归地抓取所有链接
- firebase - Vue JS + Firestore - 将计算属性链接到单个文档字段
- javascript - 如何在流程中指定一种“十六进制颜色代码”?
- sustainsys-saml2 - Owin - 使用元数据文件/url 初始化 IdP
- python - 本地测试 (Python) Google Cloud Function 时的应用程序上下文错误