2013-03-28 59 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, '模板'), )