2013-03-28 94 views
1

這是我第一次用Django的工作,而我發現他們提供的是非常有幫助的教程,有我有我的項目向前發展的一個主要問題。Django的初學者:項目佈局

的Django的最混亂的方面迄今文件的項目佈局。截至目前,我的項目的佈局如下:

webapp/ 
    manage.py 
    mysite/ 
     __init__.py 
     settings.py 
     urls.py 
     wsgi.py 
    app/ 
     __init__.py 
     models.py 
     tests.py 
     views.py 

忍受我的命名在這裏,我創建了一個Django項目「mysite的」和應用程序「應用程序」。這裏有問題,我發現自己不斷地回:

  1. 我注意到,在mysite的/ settings.py中存在的應用程序的一部分,我想包括我的,寫在這個項目中的應用部分一旦我完成它?

  2. 如果我想創建一個簡單的index.html頁,哪裏會像這樣的文件,在這個項目中的組織去?

  3. 我讀過,如CSS或圖像文件的靜態內容必須包含一個簡單的「靜態」的目錄中。這個項目組織將在哪裏進行? [這將是僅用於調試目的,我讀過這應該從未生產完成]

我的主要目標,現在是隻能夠我開始鑽研之前查看一個簡單的HTML網站插入到我創建的應用程序的模型和視圖中。

回答

1
  1. 如果你的應用需要一個或多個變量的設置,那麼是的,你乾脆把那些mysite/settings.py

  2. 創建一個新的文件夾mysite/templates/。這是你想放置你的模板文件的地方。爲每個應用程序組織模板:mysite/templates/app/將使用您的應用程序視圖使用的模板。如果要提供靜態模板,例如一個簡單的靜態index.html,然後就拋出文件中mysite/templates/index.html然後添加以下到您的urls.py文件(無需創建索引視圖):

    (r'^$', 'django.views.generic.simple.direct_to_template', {'template': 'index.html'}), 
    
  3. 在運行collectstatic命令後,靜態內容將以類似於mysite/static的方式結束。見managing static filescollectstatic命令將搜索STATICFILES_DIRS中指定的所有位置的靜態文件,並將它們部署到STATIC_ROOT(mysite/static)中指定的文件夾中。

+0

這是偉大的。非常感謝。關於您對#2的迴應的最後一個問題: django.views.generic.simple.direct_to_template,我會在哪裏導入該應用程序以便我的應用程序能夠找到它? – 2013-03-28 03:15:04

+0

在你的'urls.py'中,你可以像這樣導入它:'from django.views.generic.simple import direct_to_template'。但是,在我給你的例子中,你並不需要導入它。如果您使用,而不是下面的,那麼你就需要導入'direct_to_template':'(R「^ $」,使用direct_to_template,{「模板」:「的index.html」})' – 2013-03-28 03:20:05

+0

嗯我是得到一個ViewDoesNotExist錯誤與你寫。我試着直接導入它,它說django.views.generic.simple不存在? – 2013-03-28 03:25:37