python框架django中結合vue進行前后端分離


 

一:創建django項目

1.django-admin startproject mysite   # 創建mysite項目

2.django-admin startapp app01# 創建app01應用

 

二:安裝vue

1.首先安裝node.js,官網地址:https://nodejs.org/zh-cn/download/

2.使用npm淘寶鏡像,避免npm下載速度過慢的問題   

npm install -g cnpm --registry=https://registry.npm.taobao.org   

3、使用cnpm 下載vue-cli       

 

cnmp install -g cue-cli

如果之前安裝的有nodenmpcnpm就可以不用安裝,

 

三:設置vue項目

1.vue項目,放在django文件夾下,跟app01文件夾同級

2.運行vue項目

cd firstvue         ## 進入到上一部創建的firstvue項目中  
cnpm install        ## 安裝需要的依賴模塊  
cnpm run dev        ## 運行調式的服務,會啟動一個web服務,訪問localhost:8080 即可調式  

如果可以運行成功,證明當前vue項目是沒有問題

 

 

 

四:vue項目寫完后,打包vue項目,然后修改django配置,將vue集成到django

  1. cnpm run build        ## 打包vue項目,會將所有東西打包成一個dist文件夾  

python下的項目文件夾下的-settings.py中配置

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': ['vue-admin-master/dist'], # 修改內容
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

 

vue的靜態文件夾的目錄配置到項目中【添加靜態文件夾路徑】

STATIC_URL = '/static/'

STATICFILES_DIRS=[
    os.path.join(BASE_DIR,'vue-admin-master/dist/static/'), # 添加內容
]

 

五:修改django的主目錄的urls文件

from django.contrib import admin
from django.urls import path
from blog import views
from django.views.generic.base import TemplateView

urlpatterns = [
    path('admin/', admin.site.urls),
    path(r'', TemplateView.as_view(template_name='index.html')),
]

添加對應的路由

 

六:啟動django服務,訪問localhost:8000 則可以出現vue的首頁

啟動django

python manage.py runserver
http://127.0.0.1:8000/#/login

訪問出現vue項目的界面,就已經成功了!

 

七:有時候並不能直接訪問出首頁,原因是路徑不對

有的會設置的有前綴,需要把前綴去掉,重新打包才能使用

打包的時候不需要把之前的打包內容刪除,直接重新打包,會有對應的打包記錄

 

八:vue打包之后經常會出現fontawesome圖標庫不能使用的情況

打包之后,需要手動吧fontawesome引入的css文件路徑更改

把原來的

url(/static/fonts/fontawesome-webfont.b06871f.ttf),
換成
url(../fonts/fontawesome-webfont.b06871f.ttf),

fontawesome小圖標就可以顯示出來了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM