2009-11-11 64 views
0

假设您已经使用Pylons,Django设置了您的站点,并且大部分站点运行正常,并根据所使用的框架运行。然而,如果你有一个完全说是由平面html文件和它自己的一组图像组成的自定义部分,你没有时间实际使用框架并且被迫在相同的域中基本支持?是否应该有某种默认的控制器/视图是超简单的,或者像这样的框架以某种巧妙的方式提供支持?如何在基于MVC的网站中提供香草/自定义页面?

我也意识到,可能一个人能建立一个新的子域,它重新路由到一个完全不同的目录,但我只是好奇,当不得不面对一个框架,一个是如何解决这个问题。

回答

1

当提供静态页面时,我宁愿避免让Django或Pylons处理请求,并仅使用Web服务器处理它。使用Nginx,你可以使用如下的指令:

location/{ 
    root /whatever/the/path/is/; 

    # if the file exists, return it immediately 
    if (-f $request_filename) { 
     break; 
    } 

    # pass requests to MVC framework 
    # i.e. proxy to another server on localhost: 
    proxy_pass http://127.0.0.1:80; 
} 
1

对于挂架,您应该可以将您的静态html文件放在public目录中。如果没有url的控制器,那么我认为pylons接下来会在公共文件夹中查找。

1

对于Django,我将以与静态资产服务完全相同的方式提供这些服务 - 在您的site_media目录中,以及js,css和img的子目录中,您可以拥有一个html目录。那么这个网址就是/site_media/html/whatever.html

1

在Django看看flatpages。它是django.contrib包的一部分,并使用flatpage中间件来提供通过管理界面控制的平面HTML。基本目的,提供额外的关于网页或类似的应该做的伎俩。

您也可以创建一个HTML文件夹,并且 - 至少使用mod_python - 在Apache配置文件(例如vhost.conf)中为该路径设置无处理程序。

相关问题