2013-03-28 67 views
5

我目前使用的是Django 1.5,並且無法弄清楚如何顯示一個簡單的html頁面。我一直在閱讀基於類的視圖,但我不確定這是我想要做的。顯示簡單的html頁面Django

我想展示一個簡單的index.html頁面,但根據一些示例,我已經看到了,我需要把這個代碼在app/views.py:

def index(request): 
     template = loader.get_template("app/index.html") 
     return HttpResponse(template.render) 

是否有一個原因爲什麼我的index.html頁面必須與我的django項目關聯的應用程序關聯?對我來說,讓index.html頁面對應整個項目似乎更有意義。

更重要的是,在我的views.py文件中使用此代碼,我需要將什麼放入我的urls.py才能真正實現index.html?

編輯:

webapp/ 
    myapp/ 
     __init__.py 
     models.py 
     tests.py 
     views.py 
    manage.py 
    project/ 
     __init__.py 
     settings.py 
     templates/ 
      index.html 
     urls.py 
     wsgi.py 
+1

讀django教程會更有幫助。 – Rohan 2013-03-28 04:34:23

回答

7

urls.py

from django.conf.urls import patterns, url 
from app_name.views import * 

urlpatterns = patterns('', 
    url(r'^$', IndexView.as_view()), 
) 

views.py

from django.views.generic import TemplateView 

class IndexView(TemplateView): 
    template_name = 'index.html' 

基於@Ezequiel Bertti答案,除去app

from django.conf.urls import patterns 
from django.views.generic import TemplateView 

urlpatterns = patterns('', 
    (r'^index.html', TemplateView.as_view(template_name="index.html")), 
) 

您的index.html必須在店內模板文件夾

webapp/ 
    myapp/ 
     __init__.py 
     models.py 
     tests.py 
     views.py 
     templates/  <---add 
      index.html <---add 
    manage.py 
    project/ 
     __init__.py 
     settings.py 
     templates/  <---remove 
      index.html <---remove 
     urls.py 
     wsgi.py 
+0

catherine,我在urls.py中得到一個帶有「name ='index'」的語法錯誤。你確定它不是template_name還是其他的東西?謝謝! – 2013-03-28 05:29:42

+0

現在它只是給了我一個templatedoesnotexist錯誤。有什麼特別的關於我需要的index.html文件?我只是將它放在我的應用程序中/現在,但它似乎並不知道它在哪裏/它在哪裏? – 2013-03-28 05:56:02

+0

嗯我實際上已經嘗試過,並在「模板」目錄中得到了同樣的問題。 – 2013-03-28 05:59:51

4

您可以使用Django核心的GenericView:

Django項目結構

from django.conf.urls import patterns 
from django.views.generic import TemplateView 

urlpatterns = patterns('', 
    (r'^index.html', TemplateView.as_view(template_name="index.html")), 
) 
+0

當我以這種方式運行時,我只是不斷收到「TemplateDoesNoteExsent」錯誤... – 2013-03-28 05:02:57

+0

如果您不斷收到「TemplateDoesNoteExist」錯誤,請嘗試設置項目的settings.py文件,將TEMPLATE - > DIRS更新爲您的文件路徑,你必須指出模板文件夾位於何處 – d1jhoni1b 2015-07-25 08:39:37

0

確保你已經在setting.py中配置了路徑。可能它會解決TemplateDoesNoteExist錯誤。

您可以在settings.py中放置下面的一個。

SETTINGS_PATH = os.path.normpath(os.path.dirname(文件))

TEMPLATE_DIRS =( os.path.join(SETTINGS_PATH, '模板'), )