在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 }}">
以上是一個基本的圖片上傳與顯示的方法,你可以根據自己的需求進行修改和擴展。