2013-03-28 90 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