BBS(第三天) 如何吧用户上传的图片文件保存到本地

时间:2023-11-10 09:44:26
1. 将用户上传的所有静态文件统一管理
-- settings.py
-- MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
2. 服务器会对外公开一下服务器静态资源
3. 对外公开的方式(配置url接口),在接口中返回指定的静态资源(如何批量操作)
-- from django.views.static import serve
-- url(r'^media/(?P<path>.*)', serve, {'document_root': settings.MEDIA_ROOT}),

Django 的settings配置添加如下:

# 配置媒体根路径: 用来存放用户上传的静态文件(可以对外公开的)
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

Django 的url 配置:

from django.views.static import serve
from bbs import settings
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', views.index),
url(r'^index/$', views.index), url(r'^register/$', views.register),
url(r'^check_username/$', views.check_username), url(r'^my_login/$', views.my_login),
# 获取验证码的GET请求
url(r'^login_code/$', views.login_code),
url(r'^my_logout/$', views.my_logout), # 用户上传的静态文件,可以在外网通过接口可以直接访问
url(r'^media/(?P<path>.*)', serve, {'document_root': settings.MEDIA_ROOT}), ] #在url内

用户注册成功之后与之绑定他的站点:

            if user:
# 创建该用户的站点
u_name = user.username
blog = Blog.objects.create(
site=u_name,
title=u_name + "的站点",
theme=u_name + '.css',
# 接口:后期添加个人中心界面,来修改或添加分类们与标签们
)
# 用户与站点进行绑定
user.blog = blog
user.save()