admin后台管理
创建超级用户
createsuperuser
1.到应用下的admin.py注册模型表
from django.contrib import admin
from blog import models
# Register your models here.admin.site.register(models.UserInfo)
admin.site.register(models.Article)
admin.site.register(models.Blog)
admin.site.register(models.Tag)
admin.site.register(models.Category)
admin.site.register(models.Comment)
admin.site.register(models.ArticleUpDown)
admin.site.register(models.ArticleDetail)
admin.site.register(models.Article2Tag)
2.添加数据
"""
null=true 数据库该字段可以为空
blank=true admin后台管理该字段可以为空"""
media配置
让用户上传的所有文件都固定存放在某一个指定文件夹下
1.暴露media文件夹,通常图片需要。
2.如果填入app文件夹,就暴露code。
#settings.py-----------------------------------------------
# media配置,用户上传的文件都默认放在这个文件夹下,自己自动创建多级目录
MEDIA_ROOT = os.path.join(BASE_DIR, "media")#urls.py---------------------------------------------------
from django.views.static import serve
# BBS_Virtualenvs project 名字
from BBS_Virtualenvs import settings# document_root 是固定字段
#re_path 是django2.0
re_path(r'^media/(?P<path>.*)$', serve, {'document_root': settings.MEDIA_ROOT})#html-------------------------------------------------------
<img class="media-object" src="/media/{{ article_obj.blog.userinfo.avatar }}" alt="..." width="70" height="80">
图片防盗链
避免其他网站直接通过url访问本站资源。
简单防盗
如果本网站那么正常访问
如果是其他网站就直接拒绝
请求头里有一个专门记录请求来自哪个网站的参数
请求头referer
如何避免?
1.修改请求头referer
2.利用爬虫下载所有资源