阅读量:2
在Django中,图片上传与显示的方法如下:
- 在
models.py
文件中,创建一个包含图片字段的模型,例如:
from django.db import models class MyModel(models.Model): image = models.ImageField(upload_to='images/') # 设置图片上传的目录,可以根据自己的需求修改
- 在
settings.py
文件中,配置MEDIA_ROOT
和MEDIA_URL
:
MEDIA_ROOT = os.path.join(BASE_DIR, 'media') MEDIA_URL = '/media/'
- 在
urls.py
文件中,添加一个URL模式来处理媒体文件的访问:
from django.conf import settings from django.conf.urls.static import static urlpatterns = [ # 其他URL模式 ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
- 在
views.py
文件中,创建一个视图来处理图片上传和显示:
from django.shortcuts import render from .forms import MyForm def upload_image(request): if request.method == 'POST': form = MyForm(request.POST, request.FILES) if form.is_valid(): form.save() return render(request, 'success.html') else: form = MyForm() return render(request, 'upload.html', {'form': form})
- 在
forms.py
文件中,创建一个表单类来处理图片的上传:
from django import forms from .models import MyModel class MyForm(forms.ModelForm): class Meta: model = MyModel fields = ['image']
- 在
upload.html
模板中,创建一个表单来上传图片:
<form method="post" enctype="multipart/form-data"> {% csrf_token %} {{ form.as_p }} <button type="submit">上传</button> </form>
- 在另一个模板中,使用
img
标签来显示上传的图片:
<img src="{{ mymodel.image.url }}">
以上是一个基本的图片上传与显示的方法,你可以根据自己的需求进行修改和扩展。