簡體   English   中英

Django/React - Azure 應用服務找不到靜態文件

[英]Django/React - Azure App Service can't find static files

我之前通過專用服務器部署了我的 Django React 應用程序,現在我嘗試使用 Azure Web App 功能實現相同的功能,以便我可以更輕松地使用 CI/CD。 我已經將我的項目配置如下,但只有我的 django 出現部署,因為我得到一個“404 main.js 和 index.css 未找到”。

這讓我覺得我的靜態文件配置有問題,但我不確定。

.yml 文件:

name: Build and deploy Python app to Azure Web App - test123

on:
  push:
    branches:
      - main
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - name: npm install, build, and test
        run: |
          npm install
          npm run build --if-present
        working-directory: ./frontend

      - name: Set up Python version
        uses: actions/setup-python@v1
        with:
          python-version: '3.8'

      - name: Create and start virtual environment
        run: |
          python -m venv venv
          source venv/bin/activate
      
      - name: Install dependencies
        run: |
             pip install -r requirements.txt
             python manage.py collectstatic --noinput

      - name: Zip artifact for deployment
        run: zip pythonrelease.zip ./* -r

      - name: Upload artifact for deployment job
        uses: actions/upload-artifact@v2
        with:
          name: python-app
          path: pythonrelease.zip

        
      # Optional: Add step to run tests here (PyTest, Django test suites, etc.)




  deploy:
    runs-on: ubuntu-latest
    needs: build
    environment:
      name: 'Production'
      url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}

    steps:
      - name: Download artifact from build job
        uses: actions/download-artifact@v2
        with:
          name: python-app
          path: .


      - name: unzip artifact for deployment
        run: unzip pythonrelease.zip

          
      - name: 'Deploy to Azure Web App'
        uses: azure/webapps-deploy@v2
        id: deploy-to-webapp
        with:
          app-name: 'test123'
          slot-name: 'Production'
          publish-profile: ${{ secrets.secret}}

設置.py

STATIC_URL = '/static/'

STATIC_ROOT = 'staticfiles'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"),
)

回購結構:

結構體

任何建議將不勝感激。

干杯

要在您的 Web 應用程序中托管靜態文件,請將 whitenoise 包添加到 requirements.txt 並將其配置添加到 settings.py。 正如這里提到的: Django Tips

要求.txt | 白噪聲==4.1.2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM