2016-10-06 52 views
2

我已閱讀Django官方教程,該教程將教會如何創建一個簡單的民意調查應用程序,這是他們選擇教初學者Django基礎知識的方式。 我的問題是,現在我知道如何製作一個簡單的應用程序,並且想要創建我自己的網站(使用Django),我的網站的主(前)頁面也應該是一個應用程序嗎?如果是這樣,人們通常會怎麼稱呼它並對其進行配置?我的意思是,它不應該做任何事情,但呈現一個HTML模板,所以爲什麼使它如此複雜?如果沒有,我在哪裏放置所有的靜態文件,我該如何引用它們?我有點困惑,可以使用你的幫助。也許我誤解了Django的主要用途?我的Django網站的主頁應該是一個應用程序嗎?

+0

通常我會創建一個核心(或類似命名)的應用程序,它具有所有額外的零碎和碎片,如實用程序函數,上下文處理器,中間件等。這是放索引頁面的好地方 –

回答

2

您可以在manage.py文件所在的根項目文件夾中創建模板和靜態文件。在根文件夾中創建以下文件夾:

  • templates(用於HTML)
  • static(對CSS,JS和圖片)

在你settings.py文件,使這些變量是這樣的:

TEMPLATES = [ 
    { 
     ... 
     'DIRS': [ 
      os.path.join(BASE_DIR, 'templates'), 
     ], 
     ... 
    }, 
] 

STATICFILES_DIRS = [ 
    os.path.join(BASE_DIR, 'static'), 
] 

注:STATICFILES_DIRS變量最初不存在於settings.py文件,但您可以自行添加。默認情況下,Django會在每個應用程序的static目錄中查找靜態文件。如果你想讓Django讀取你在項目根目錄下創建的static目錄,你需要添加這個變量。 Django的官方文檔參考:https://docs.djangoproject.com/en/1.10/ref/settings/#std:setting-STATICFILES_DIRS

使這些模板,您可以在目錄中創建views.py在您settings.py文件的生活和在同一文件夾中添加urls.py的路線。

這是實現你想要的幾種方法之一。希望您不需要將這些模板(例如,您的主頁)插入或在其他項目中使用這些模板,否則請在您的帖子的評論中建議使用Timmy

+0

謝謝你的回答。我希望你也可以提一下STATICFILES_DIRS的功能,因爲我最初並沒有在我的settings.py中使用它。 –

+0

我編輯了我的答案,並添加了一個註釋,解釋了爲什麼我們添加了這個變量。 – Forthaction

0

我一般用3個應用程序(打電話給他們任何你想要的)開始:

  • 基地 - 基本佈局:一些常見的靜態文件和一個基本的模板(其他模板擴展這一項,主要目的是 包括一個常見的html <head>)。還包含主頁和其他一些簡單的頁面。

    主要 - 包含項目設置/配置,主要urls.py(在我的情況也wsgi.py)

    MYAPP - 實際的應用程序,我想創造。

這很好地分離功能。通常我可以重新使用其他項目的基本應用程序。

相關問題