要將文件上傳到數據庫,需要使用Django的FileField字段。以下是一個簡單的示例,演示如何使用Django上傳文件并將其保存到數據庫中。
from django.db import models
class FileModel(models.Model):
file = models.FileField(upload_to='uploads/')
from django import forms
from .models import FileModel
class FileForm(forms.ModelForm):
class Meta:
model = FileModel
fields = ('file',)
from django.shortcuts import render
from .forms import FileForm
def upload_file(request):
if request.method == 'POST':
form = FileForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return render(request, 'success.html')
else:
form = FileForm()
return render(request, 'upload.html', {'form': form})
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">上傳文件</button>
</form>
<h1>文件上傳成功!</h1>
from django.urls import path
from .views import upload_file
urlpatterns = [
path('upload/', upload_file, name='upload'),
]
以上就是使用Django上傳文件到數據庫的基本步驟。當用戶提交文件上傳表單時,文件將保存到數據庫中的"file"字段中。你可以根據自己的需求,對上述代碼進行修改和優化。