评论
[从零开始Django] Admin后台上传图片选择-用户头像案例

[从零开始Django] Admin后台上传图片选择-用户头像案例

“要是那晚的月亮再亮一点就好了,这样说不定我就能看清那时闪烁在你眼里忽明忽暗的东西,到底是不是喜欢”

admin菜单注册

前提是准备好一个Django项目可链接数据库,注册项目

安装库

pip install pillow

settings 末尾添加媒体文件的路径配置

MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads')
MEDIA_URL = '/media/'
X_FRAME_OPTIONS = 'SAMEORIGIN'

settings中的TEMPLATES添加设置

'django.template.context_processors.media',
[从零开始Django] Admin后台上传图片选择-用户头像案例

项目下models文件中建立一个phptp字段做测试


from django.db import models
# Create your models here.
class WeChatSet(models.Model):
    """ 基本配置 """
    title = models.CharField(verbose_name='标题', max_length=32)
     # 要设置默认头像default 或者设置为空
    photo = models.ImageField(verbose_name='用户头像', upload_to='images/%Y/%m', null=True, blank=True)

手撸迁移数据库


python3.11 manage.py makemigrations
python3.11 manage.py migrate

运行到后台可以看到我们的内容

[从零开始Django] Admin后台上传图片选择-用户头像案例

正常是会默认显示图片路径的,如果不会显示可以在url文件添加以下内容看看


from django.contrib import admin
from django.urls import path, re_path
from django.conf.urls import include
from django.views.static import serve
from lingmu_admin.settings import MEDIA_ROOT

urlpatterns = [
    path('admin/', admin.site.urls),
    path('mdeditor/', include(('mdeditor.urls', 'mdeditor'), namespace='mdeditor')),  # 配置编辑器路由
    re_path(r'^media/(?P<path>.*)$', serve, {'document_root': MEDIA_ROOT}),  # 添加上传文件路径
]

上传成功后我们在项目目录中会生成对应目录

[从零开始Django] Admin后台上传图片选择-用户头像案例