django前後端分離解決跨域

2021-10-19 08:58:33 字數 2597 閱讀 4656

1.安裝虛擬環境 :

mkvirtualenv  dj_admin (環境名)
若系統中存在多個python版本在環境名前需指定python版本

2.配置虛擬環境,安裝django

pip install django  (安裝依賴包)
3.進入虛擬環境 :

workon 環境名
退出虛擬環境	:deactivate    

檢視虛擬環境 :workon

刪除虛擬環境 rmvirtualenv

刪除依賴包 pip uninstall 依賴包名

4.建立工程(在虛擬環境下建立)

django-admin startproject 工程名

django-admin startproject dj

5.建立資料庫,建立專案使用的資料庫

安裝  pip install pymysql

pip install mysqlclient

專案settings.py檔案中配置資料庫連線

settings.py

databases = ,

}_init_.py(即dj/__init.py檔案)

import pymysql

pymysql.install_as_mysqldb()

執行遷移

python manage.py makemigrations

python manage.py migrate

進入工程manage.py同級目錄下,建立後台超級管理員賬戶:

python manage.py createsuperuser

6.建立後台應用 :

專案settings.py檔案中配置應用

......

)

在應用資料夾內新建urls.py檔案(dj_admin/urls.py)

安裝 pip install djangorestframework-jwt

urls.py檔案寫入

from django.conf.urls import url

from rest_framework_jwt.views import obtain_jwt_token

urlpatterns = [

url('^authorizations/$',obtain_jwt_token),

]

在應用資料夾內新建utils.py,返回資料,自定義返回資料

from rest_framework_jwt.utils import jwt_response_payload_handler

def user_response_payload_handler(token,user=none,response=none):

print(user.username)

print(token)

return

setting.py配置

rest_framework =

import datetime

jwt_auth =

7.工程同名檔案/urls.py

編寫總路由:

url(』^提供給前端的訪問後台總介面』,include(『後台應用.urls』))

#後端工程url.py路徑

from django.conf.urls import url, include

from django.contrib import admin

from django.conf.urls import url

from rest_framework_jwt.views import obtain_jwt_token

urlpatterns = [

url('admin/', admin.site.urls),

url('^dj_admin/',include('dj_admin.urls'))#'dj_admin.urls' dj_admin 應用檔案下url路徑

]

8.settings.py

pip install django-cors-headers

新增應用

...'corsheaders',

...)設定中介軟體

middleware = [

'corsheaders.middleware.corsmiddleware',

...]新增白名單

cors_origin_whitelist = (

'127.0.0.1:8080',

'localhost:8080',

#'希望能夠訪問的ip埠'

)cors_allow_credentials = true # 允許攜帶cookie

cors_origin_allow_all= true #這句不加會只發乙個options請求,post請求不會發出

到此為止跨域就解決了,前後端分離後台就可以進去了

誠邀大佬指點,若有不對之處,大佬多包涵,不吝賜教

前後端分離解決跨域問題

方案1 前端配置 在config檔案中的index.js中的proxytable中寫下你要 後端的位址,他是從main.js中 過來的 這個前端必須是vue cli才可以使用此方案 方案二 在後端寫入乙個 import org.springframework.context.annotation.b...

解決Django 前後端分離跨域問題

瀏覽器的同源策略 同源策略是一種瀏覽器最基本的安全機制,如果兩個 url 的 protocol port 如果有指定的話 和 host 都相同的話,則這兩個 url 是同源。支援python 3.6至3.9。支援django 2.2到3.2。1 從pip安裝 pip install django c...

解決前後端分離的跨域問題

參考 跨域是網路安全領域的乙個專有名詞。簡單點理解就是某些操作越過了網域名稱的界限,訪問了別的網域名稱。如果指令碼可以自由訪問其他域,就會產生很多安全問題。什麼情況下會跨域?不同協議 不同網域名稱 不同埠 不同主機。什麼情況不是跨域?滿足網域名稱 協議 埠均相同的即不是跨域。解決方案 1 jsonp...