django上传文件到服务器,如何用django将文件上传到服务器?

我已经为我的问题找到了this very simple code,但我试图在我的项目中重复它,但没有结果。

我认为我做的每件事都是正确的,但结果很糟糕。在

我这样做:

在表单.py在class UploadFileForm(forms.Form):

docfile = forms.FileField(

label='select file pls'

)

在视图.py在

^{pr2}$

html模板:

{% csrf_token %}

{{ form }}

我正在等待上传文件,但当我试图上传文件时(我有“浏览”按钮,我在选择文件后尝试按下按钮)终端说:POST /cabinet/ HTTP/1.1 200 5740

form:

select file pls:
  • This field is required.

invalid

所以,表格是无效的。我不明白为什么。在

很抱歉问个简单的问题。

如果我的问题有什么问题,我很抱歉。这是我在stackoverflow的第一个问题。在

我的设置是:

Python 2.7

丹戈1.9.7

Ubuntu 14.04版

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Django 中,可以通过 Django 自带的文件处理模块来实现文件上传服务器的功能。具体步骤如下: 1. 在 settings.py 中配置上传文件存储目录: ```python MEDIA_ROOT = '/path/to/media' MEDIA_URL = '/media/' ``` 2. 在 models.py 中定义上传文件的模型: ```python from django.db import models class UploadFile(models.Model): title = models.CharField(max_length=50) file = models.FileField(upload_to='uploads/%Y/%m/%d/') ``` 其中,`upload_to` 参数指定了上传文件存储的相对路径,可以根据需要进行修改。 3. 在 forms.py 中定义上传文件的表单: ```python from django import forms from .models import UploadFile class UploadFileForm(forms.ModelForm): class Meta: model = UploadFile fields = ('title', 'file',) ``` 4. 在 views.py 中处理文件上传请求: ```python from django.shortcuts import render, redirect from .forms import UploadFileForm def upload_file(request): if request.method == 'POST': form = UploadFileForm(request.POST, request.FILES) if form.is_valid(): form.save() return redirect('success') else: form = UploadFileForm() return render(request, 'upload.html', {'form': form}) def success(request): return render(request, 'success.html') ``` 5. 在模板文件 upload.html 中添加文件上传表单: ```html <form method="post" enctype="multipart/form-data"> {% csrf_token %} {{ form.as_p }} <button type="submit">上传文件</button> </form> ``` 6. 在模板文件 success.html 中显示上传成功信息: ```html <h2>文件上传成功!</h2> ``` 通过以上步骤,就可以实现 Django上传文件服务器的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值