1. 程式人生 > 其它 >django 靜態檔案及路由分發

django 靜態檔案及路由分發

靜態檔案

  • 靜態檔案配置

    1. 配置靜態檔案得訪問路徑[該配置預設存在]

      1. 通過哪個URL地址找到靜態檔案

      2. STATIC_URL='/static'

        # settings.py
        STATIC_URL = '/static/'
        
      3. 說明:

        1. 指定訪問呢靜態檔案時需要通過 /static/xxx或 http://127.0.0.1:8000/static/xxx

          [xxx表示具體得靜態資源位置]

    • 配置靜態檔案得儲存路徑--STATICFILES_DIRS

      STATICFILES_DIRS儲存得是靜態檔案在伺服器端儲存得位置

      # setting.py
      # Static files (CSS, JavaScript, Images)
      STATICFILES_DIRS= (
      	os.path.join(BASE_DIR, "static"),
      )
      
      
      #模板中訪問靜態檔案 img標籤為例
      # html中引入靜態檔案
      <img src="http://127.0.0.1:8000/static/img/tupian1.jpg" width='200px' height='200px'>
      <img src="/static/img/tupian2.jpg" width='200px' height='200px'>
      # 通過 {% static %} 標籤訪問靜態檔案
      1. 載入static {%load static %}
      2. 使用靜態資源{% static '靜態檔案路徑' %}
      樣例:
      <img src="{% static 'img/tupian3.jpg'%}"
      

django應用及分散式路由

  • 應用在Django專案中是一個獨立得業務模組,可以包含自己得路由、檢視、模型、模板

  • 建立應用命令

    • python manage.py startapp music
    • 在settings.py的INSTALLED_APPS列表中配置按照此應用
  • 分散式路由

    • Django中,主路由配置檔案urls.py可以不處理使用者的具體路由,主路由配置檔案中可以做請求的分發(分散式請求處理),具體的請求可以由各自的應用來進行處理

      • 主路由中呼叫include函式

      • 語法: include('app名字.url模組名')

      • 作用: 用於將當前路由轉到哥哥應用的路由配置檔案的urlpatterns中進行分散式處理

        # 主路由對請求進行轉發
        from django.contrib import admin
        from django.urls import path,include
        urlpatterns = [
            path('admin/', admin.site.urls),
            path('users/', include('users.urls')),
            path('index/', include('index.urls')),
        ]
        
        # 具體請求由app應用來處理
        from django.urls import path
        from index import views
        urlpatterns=[
            path('login', views.login_view),
            path('index', views.index_view),
        ]
        
  • 應用下的模板

    • 1 手工在應用下建立templates資料夾

    • settings.py中開啟應用模板功能

    • 'APP_DIRS': True,
      
    • 應用下templates和專案下templates都存在式,django查詢模板的規則是:

      • 優先查詢專案目錄同級的templates目錄下的模板
      • 按照INSTALLED_APPS配置的應用順序,逐層查詢