day75-bbs結尾

後臺管理

"""
當一個文件夾下文件比較多的時候 你還能夠繼續建立文件夾分類處理
    templates文件夾
        backend文件夾
        應用1文件夾
        應用2文件夾
"""

添加文章

有兩個須要注意的問題
    1.文章的簡介
      不能直接切去
        應該先想辦法獲取到當前頁面的文本內容以後截取150個文本字符
  
  2.XSS攻擊
      針對支持用戶直接編寫html代碼的網址
    針對用戶直接書寫的script標籤 咱們須要處理
        1.注視標籤內部的內容
      2.直接將script刪除

如何解決?
    咱們本身的話
      針對1 後端經過正則表達式篩選
    針對2 首先須要肯定及獲取script標籤
  這兩步都好煩 有木有人來幫我一下
      beautifulsoup模塊            bs4模塊
        專門用來幫你處理html頁面內的
      該模塊主要用於爬蟲程序
   
  下載千萬不要下錯了
      pip3 install beautifulsoup4
                # 模塊使用
        soup = BeautifulSoup(content,'html.parser')

        tags = soup.find_all()
        # 獲取全部的標籤
        for tag in tags:
            # print(tag.name)  # 獲取頁面全部的標籤
            # 針對script標籤 直接刪除
            if tag.name == 'script':
                # 刪除標籤
                tag.decompose()
        # 文章簡介
        # 1 先簡單暴力的直接切去content 150個字符
        # desc = content[0:150]
        # 2 截取文本150個
        desc = soup.text[0:150]
"""
當你發現一個數據處理起來不是很方便的時候 
能夠考慮百度搜搜有沒有現成的模塊幫你完成相應的功能
"""

kindeditor富文本編輯器

編輯器的種類有不少,你能夠本身去網上搜索

編輯器上傳圖片

別人寫好了接口 可是接口不是你本身的
你須要手動去修改

# 在使用別人的框架或者模塊的時候 出現了問題不要慌 看看文檔可能會有對應的處理方法

修改用戶頭像

@login_required
def set_avatar(request):
    if request.method == 'POST':
        file_obj = request.FILES.get('avatar')
        # models.UserInfo.objects.filter(pk=request.user.pk).update(avatar=file_obj)  # 不會再自動加avatar前綴
        # 1.本身手動加前綴
        # 2.換一種更新方式
        user_obj = request.user
        user_obj.avatar = file_obj
        user_obj.save()
        return redirect('/home/')
    blog = request.user.blog
    username = request.user.username
    return render(request,'set_avatar.html',locals())

bbs項目總結

"""
在開發任意的web項目的時候 其實到了後期須要寫的代碼會愈來愈少
都是用已經寫好的url填寫到a標籤href屬性完成跳轉便可
"""
主要功能總結
    表設計    開發流程(粗燥流程 還能夠細化)
  註冊功能
      forms組件使用
    頭像動態展現
    錯誤信息提示
  登錄功能
      圖片驗證碼
    滑動驗證碼
  首頁展現
      media配置
    主動暴露任意資源接口
  我的站點展現
      側邊欄展現
    側邊欄篩選
    側邊欄inclusion_tag
  文章詳情頁
      點贊點踩
    評論
  後臺管理
"""
針對bbs須要你掌握每個功能的書寫思路 內部邏輯
以後再去敲代碼熟悉 找感受
"""
相關文章
相關標籤/搜索