首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保存时如何设置镜像路径

保存时如何设置镜像路径
EN

Stack Overflow用户
提问于 2019-01-24 01:39:38
回答 1查看 23关注 0票数 1

当我从表单上传图像时,它只是将名称保存在数据库中,而不是保存图像并上传到路径,但当我从数据库上传图像时,它会完美地存储

urls.py

代码语言:javascript
复制
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('',include('students.urls')),
    path('admin/', admin.site.urls),
]

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

models.py

代码语言:javascript
复制
from django.db import models

# Create your models here.

class student_registration(models.Model):

  registration_number = models.CharField(primary_key=True,max_length=100)
  student_name = models.CharField(max_length=100)
  student_father_name = models.CharField(max_length=100)
  student_image=models.FileField(default='default.jpg', upload_to='media', blank=True)

views.py

代码语言:javascript
复制
from django.shortcuts import render
from .models import student_registration
from django.contrib import messages
from django.conf import settings

# Create your views here.
  
def student_registeration(request):  
  if ("registration_no" in request.POST and "student_name" in request.POST 
  and "student_fname" in request.POST and "student_image" in request.POST):
    registration_no = request.POST["registration_no"]
    student_name = request.POST["student_name"]
    student_fname = request.POST["student_fname"]
    student_image = (settings.MEDIA_URL + request.POST["student_image"], 
                    'JPEG')
    s = student_registration(registration_no,student_name, student_fname, 
        student_image)
    s.save()
    messages.success(request, f'Your account has been created! You are now 
     able to log in')
    return render(request,'students/student_registration.html')
  else:
    return render(request, 'students/student_registration.html')

EN

回答 1

Stack Overflow用户

发布于 2019-01-24 17:31:30

文件上传存储在request.FILES中,而不是request.POST中。您可以用相同的方式检索它,并将其分配给student_image字段:

代码语言:javascript
复制
s = student_registration(
    registration_number=registration_no,
    student_name=student_name, 
    student_father_name=student_fname, 
    student_image=request.FILES['student_image']  # Retrieve from request.FILES
)
s.save()

您还应该确保您的表单设置为enctype="multipart/form-data

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54332809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档