注:以下所有內容來自於實踐專案,都是自己的總結,希望能為你所用!
yum安裝nginx
親測可用:
解決跨域:
從django層面修改settings配置,自定義中介軟體,**
middleware.py檔案
class mycors(middlewaremixin):
def process_response(self, request, response):
response["access-control-allow-origin"] = "*"
if request.method == "options":
response["access-control-allow-headers"] = "content-type"
response["access-control-allow-methods"] = "delete, put, post"
return response
settings.py檔案
middleware = [
'目錄.middleware.mycors',
...]
使用nginx+uwsgi部署django專案
前後端分離專案無法共享登陸session解決方案(使用token判定)
1.使用token進行認證
2.使用jwt進行認證
原理很簡單,前端傳乙個使用者唯一憑證,比如username,後端經過token加密,返回給前端(之前研究這個踩過不少坑)
參考資料:
settings.py配置
settings.py配置
......,
'rest_framework',
'rest_framework.authtoken', # 設定token
]jwt_auth =
登陸**demo
from rest_framework_jwt.settings import api_settings
@api_view(['get'])
def test_login(request):
"""# 登陸測試介面
"""demo = 'demo11'
user = user.objects.create(wx_openid='demo', code=demo, wx_pic=demo, wx_name=demo, ***=1, p_id=0)
jwt_payload_handler = api_settings.jwt_payload_handler
jwt_encode_handler = api_settings.jwt_encode_handler
payload = jwt_payload_handler(user) # 預設7天過期,可以修改設定
json.dumps(, ensure_ascii=false, cls=dateencoder),
跨域增加部分headers驗證引數之後解決方案
異常:django 跨越報錯 ?: (corsheaders.e013) origin '127.0.0.1:8080' in cors_origin_whitelist is missing schem
django專案部署:
不再使用nohup python runserver的方式部署django
改用nginx
runserver 方法是除錯 django 時經常用到的執行方式,它使用 django 自帶的
wsgi server 執行,主要在測試和開發中使用,並且 runserver 開啟的方式也是單程序 。
踩過不少坑,請參考我的配置,配置可用,之前把http寫成socket了
專案路徑建立m_uwsgi.ini
[uwsgi]啟動方式 uwsgi --ini /專案路徑/m_uwsgi.ini &#專案目錄
chdir = /code/media_manager
#使用nginx連線時, 監控位址,注,這裡要寫伺服器內網位址
;socket=0.0.0.0:8000
#直接做web伺服器時, 所監控位址
#程序個數
workers = 10
;pidfile=/opt/script/uwsgi.pid
#指定靜態檔案
;static-map = /static=/opt/ourblog/static
;uid = root #使用者
;gid = root #組
#啟用主程序
master = true
#自動移除unix socket和pid檔案當服務停止的時候
vacuum = true
#啟用執行緒
enable-threads = true
#序列化接受的內容,如果可能的話
thunder-lock = true
#設定自中斷時間
harakiri = 30
#設定緩衝
;post-buffering = 65536
#設定日誌目錄
daemonize = /log/media_manager/m_uwsgi.log
wsgi-file = media_manager/wsgi.py
# 儲存主程序pid檔案
pidfile = uwsgi.pid
buffer-size = 65536
nginx配置,nginx後面加server:
server
}
前後端分離 頁面許可權驗證
前端驗證 登入後 新增登入標識 localstorage.login true inc.js 公共標頭檔案處理,沒有登入 跳轉登入 top.location.href 獲取本地絕對路徑或網域名稱訪問路徑 var href document.location.href var abspath absp...
前後端分離
關於前後端分離的一些好的文章推薦 前端框架 為什麼前後端分離 最直白的理解,我認為是因為在開發過程中,前端總是需要等待後端的環境搭建好之後,前端才能獲取相關資料,對於前端的開發影響很大,事實上前端並不關心後端的開發,那麼有沒有方法不讓後端影響前端的開發呢?其實後端提供的是什麼?乙個執行伺服器,乙個就...
前後端分離
在此說明 前後端分離有利於後端的快速開發,但並不利於搜尋引擎優化 seo 上圖能清晰的看到,使用前後端分離模式進行開發,瀏覽器會向伺服器傳送請求,伺服器會向瀏覽器傳送乙個類似框架的html,是固定的空殼,此時瀏覽器再使用ajax請求向後端伺服器索要資料,後端伺服器返回json字串給瀏覽器,從而使瀏覽...