python - 夹层文件上传

标签 python django mezzanine

我无法上传我的文件上传程序。我在 django 中创建了一个小项目来上传和下载文件。这个项目过去/现在运行得非常好。现在我正在夹层中尝试这个,我为此创建了以下模型:

from django.db import models
from django.contrib.auth.models import User
from mezzanine.pages.models import Page
from time import time

def get_upload_file_name(instance, filename):
    return "galleries/%s_%s" %(str(time()).replace('.','_'), filename)


GENDER = (('----','Please Select ...'),('male','Male'), ('female','Female'))
class AllUsers(models.Model):
    FullName = models.CharField(max_length=300)
    DOB = models.DateField()
    Gender = models.CharField(max_length=7, choices = GENDER)
    HomeAddress = models.TextField()
    Contact = models.CharField(max_length=300)
    Email = models.EmailField()
    CV = models.FileField(upload_to = get_upload_file_name)

形式如下:

class UserForm(forms.ModelForm):
    class Meta:
        model = AllUsers
        fields = ['FullName' ,'DOB' ,'Gender','HomeAddress','Contact','Email','CV','UserDepartment']

表单的 HTML 页面

<form action="/users/" method="post" enctype="multipart/form-data">{%csrf_token%}
     <fieldset>
        {{id}}
    <legend>Users Profile</legend>
    {% fields_for form %}
    <div class="form-actions">
        {% block account_form_actions %}
        <input class="btn btn-primary btn-lg pull-right" type="submit" value="Submit">
        {% endblock %}
    </div>
    </fieldset>
</form>

问题:我上传文件并按提交按钮,提交后它会将我移至 html 表单页面并删除我上传的文件。并要求我再次上传文件。

最佳答案

我不会删除这个问题,因为这可能会有所帮助!

您的表单不会上传文件。不用担心。请参阅:

症状 您的表单中有 FileField() 和 ImageField() 字段,但提交此表单时文件不会上传

可能的原因 实例化 Form 对象时,您可能会缺少 request.FILES 参数。

解决方案 始终确保在实例化 Form 对象时传递 request.FILES:

form = MyForm(request.POST, request.FILES)

*更多详细信息:* https://code.djangoproject.com/wiki/NewbieMistakes

关于python - 夹层文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22898932/

相关文章:

python - 在python-igraph中,查找两个顶点之间的边的数量和众数

Python:无法理解正则表达式

python - 如何在 Python/Django 中将此持续时间转换为天/小时/分钟/秒?

python - 在 CentOS 上部署 Mezzanine CMS

python - 更改 Django-Mezzanine-Cartridge From - 下订单后的电子邮件

django - 如何将自定义模板页面添加到夹层?

python - Pandas 根据日期范围和另一列过滤数据框

python - 错误 :Can't finish "storage_client = storage.Client()" in google cloud speech

python - 在不定义客户端/服务器角色的情况下连接两个 TCP 套接字

mysql - Django - 通过处理OperationalError从MySQL触发器获取错误消息