• django网站前端开发-上传文件


    django在做网站前端开发时,在网页上嵌入一个上传pdf文档的按钮,点击该按钮,弹出选择文件

    在 Django 项目中,前端嵌入上传 PDF 文档的按钮并处理文件上传的基本步骤如下:

    1. 创建 Django 应用和模型:

      1.1. 创建 Django 应用:

      python manage.py startapp myapp
      

      1.2. 在 models.py 中定义一个模型来保存上传的文件:

      from django.db import models
      
      class Document(models.Model):
          title = models.CharField(max_length=200)
          upload = models.FileField(upload_to='uploads/')
          uploaded_at = models.DateTimeField(auto_now_add=True)
      

      1.3. 运行迁移命令以创建数据库表:

      python manage.py makemigrations
      python manage.py migrate
      
    2. 创建 Django 表单:

      forms.py 文件中定义一个表单来处理文件上传:

      from django import forms
      from .models import Document
      
      class DocumentForm(forms.ModelForm):
          class Meta:
              model = Document
              fields = ('title', 'upload',)
      
    3. 创建视图来处理文件上传:

      views.py 文件中定义视图:

      from django.shortcuts import render, redirect
      from .forms import DocumentForm
      
      def upload_file(request):
          if request.method == 'POST':
              form = DocumentForm(request.POST, request.FILES)
              if form.is_valid():
                  form.save()
                  return redirect('success')
          else:
              form = DocumentForm()
          return render(request, 'upload.html', {'form': form})
      
      def success(request):
          return render(request, 'success.html')
      
    4. 设置 URL 路由:

      urls.py 中定义 URL 路由:

      from django.urls import path
      from . import views
      
      urlpatterns = [
          path('upload/', views.upload_file, name='upload'),
          path('success/', views.success, name='success'),
      ]
      
    5. 创建模板文件:

      5.1. 创建 templates/upload.html 文件,包含文件上传的表单:

      DOCTYPE html>
      <html>
      <head>
          <title>Upload PDFtitle>
      head>
      <body>
          <h1>Upload PDFh1>
          <form method="post" enctype="multipart/form-data">
              {% csrf_token %}
              {{ form.as_p }}
              <button type="submit">Uploadbutton>
          form>
      body>
      html>
      

      5.2. 创建 templates/success.html 文件,显示上传成功的消息:

      DOCTYPE html>
      <html>
      <head>
          <title>Successtitle>
      head>
      <body>
          <h1>File uploaded successfully!h1>
          <a href="{% url 'upload' %}">Upload another filea>
      body>
      html>
      
    6. 配置静态和媒体文件:

      在项目的 settings.py 文件中配置媒体文件的路径:

      import os
      
      MEDIA_URL = '/media/'
      MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
      

      在项目的 urls.py 文件中添加媒体文件的路由:

      from django.conf import settings
      from django.conf.urls.static import static
      
      urlpatterns = [
          # 其他路径
      ]
      
      if settings.DEBUG:
          urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
      

    通过以上步骤,您已经在 Django 项目中创建了一个允许用户上传 PDF 文档的功能。用户可以通过点击上传按钮选择文件,并将文件上传到服务器。上传的文件将保存在指定的目录中。

    参考

  • 相关阅读:
    海屯心理平台搭建系统模式
    代码随想录二刷 | 链表 | 删除链表的倒数第N个节点
    【STM32 PWM输出+串口调整PWM周期和占空比】
    HTML简单语句
    拍照扫描怎么弄?你可以试一下这两个方法
    SpringMVC异常处理器
    推荐一个.Net Core轻量级插件架构
    贪心算法 --- 马踏棋盘(C)
    风控系统之数据服务,名单、标签、IP、设备、地理信息、征信等
    基于Springboot+Mybatis+mysql+vue技术交流博客论坛系统
  • 原文地址:https://blog.csdn.net/weixin_40566713/article/details/139844215