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.利用爬蟲下載所有資源