推荐非常轻量级的网站框架

时间:2012-06-01 06:22:11

标签: python mercurial sinatra nancy

我想更新/重写一个小的(10页)简单网站; 8页完全是静态的,可以用html写,1页有联系表,另一页有可过滤的俱乐部列表。目前,该网站是用经典的asp编写的,并使用Dreamweaver模板来实现一致的页面。

我的要求是

  1. “主页”/模板系统,因此所有共享页面元素只能写入一个位置。
  2. 轻量级/低开销框架
  3. 学习新语言
  4. 我可以使用ASP.NET Webforms或ASP.NET MVC来获取母版页,但是它们都带有开销,这对于这么小的网站来说并不是必需的,而且我的godaddy托管从冷却中调整网站的速度明显变慢而不是一个纯粹的HTML页面。

    俱乐部页面将显示可按位置过滤的俱乐部列表,但我不想使用数据库存储此列表 - 还有另一个网站有官方俱乐部列表,但系统无法使用将此作为服务或其他可消耗资源提供,因此我需要定期删除详细信息并在本地缓存它们或使用iframe或其他东西

    我想也许Python或django可能是个好人选,但不知道知道。我现在认为我正在寻找的是一个“微型网络框架”。我快速浏览一下用{python编写的Mercurial Web Server看起来非常简单,但我无法访问Go Daddy上的托管Web服务器,因此无法安装python ...

    修改
    我需要这个在我目前的共享主机上使用GoDaddy(IIS7)

    运行

    EDIT2
    俱乐部名单由官方总部网站维护,他们偶尔会添加/删除俱乐部。我只需要保持我的列表与他们的最新。我每隔几个月就会检查一次(如果我记得的话)并且更新了MS SQL数据库,但这远远超过了顶层。我正在考虑将细节简化为json格式并将其保存在文本文件中(每月一次,或者其他什么),然后我可以将其用作jQuery过滤表的基础。俱乐部的细节只是文字;俱乐部名称,主要联系人,电话号码,地址和电子邮件地址。

    我还希望发布简单,将代码提交给Mercurial(或git)并运行该站点。我知道bitbucket(和github)都提供静态页面站点(我不确定如何在该环境中使用联系我们表单 - 但这是我想要的部署模型)

    我希望更新的网站是Seika Dojo

11 个答案:

答案 0 :(得分:3)

没有必要运行怪物来提供10个几乎静态的页面。如果您计划从网络中提取和缓存某些数据,则可以采用更新静态HTML的方式。

正如另一位作者提到的HTML5可以帮到你。看一下table filtration的jQuery。对于使用公共元素的页面重新生成,请考虑jekyll / hydeorg-mode(使用emacs的批处理模式)。您有多种语言可供选择。

答案 1 :(得分:2)

好吧,我不了解其他框架,但我有很好的经验在NancyFx中建立一个小网站。

  1. NancyFx支持多个视图引擎。你可以使用SuperSimpleViewEngine; masterpages come out of the box
  2. Getting started with Nancy is super easy
  3. 我认为你已经了解了.NET / C#,但是Nancy在新的动态功能方面发挥了很多优势,这些功能很有趣。

答案 2 :(得分:1)

Python是我最喜欢的语言,但我不会用它来创建一个简单的网站。我建议你使用现成的CMS解决方案,比如Wordpress。

  • 你会学到新东西。
  • 您不必实现任何功能(CMS +插件将提供您所需的一切)。
  • 您将获得所需的所有支持。
  • 很容易在任何托管上部署(因为它是基于PHP的 - 抱歉,php - )。

答案 3 :(得分:1)

仙人掌:

https://github.com/koenbok/Cactus

是我目前最喜欢的静态网站生成器 - 它使用Django模板从一组模板(在'pages'目录中)和所有常用图像和css中创建一组页面(在'build'目录中)一个'静态'目录。

在客户端使用Javascript进行可过滤的表 - 听起来并不复杂。这个可爱的表格组件:

http://datatables.net/

可能只是门票。

答案 4 :(得分:1)

Pelican没有被提及。它生成静态页面,并在Python中完成。它符合所有规定的标准。

答案 5 :(得分:0)

请参阅http://wiki.python.org/moin/WebFrameworks,然后玩一些让您感到满意的选择。我会根据你所描述的内容倾向于更轻的框架。

答案 6 :(得分:0)

也许看看cherrypywebpy?它们是极简主义的python web框架,专为此类设计而设计。 (我认为django对于这个小应用来说太大了,恕我直言)

另外,如果你想学习一些红宝石,请看Sinatra

Express对于一些javascript体验很有用。

对于单页应用,backbone.js很受欢迎且非常强大,但可能不是您想要的。

但最重要的是,学习一门新语言会很开心!

答案 7 :(得分:0)

虽然不完全是关于主题的,但由于您不需要完全静态的网站,StaticMatic 作为静态内容生成的最佳轻量级工具之一,可能会引起人们的兴趣。

答案 8 :(得分:0)

Flask和web.py都是不错的选择。我不认为Django真的适合这么小的项目,但你绝对可以使用它。

答案 9 :(得分:0)

我一直在四处寻找,只需使用xml includesEmbedded JavaScript来拉入页眉/页脚/菜单部分,就可以达到模板系统的目标。然后,所有“工作”都在客户端浏览器上完成,因此Web服务器只需要提供尽可能轻量级的静态文件。

答案 10 :(得分:-1)

根据我的经验,任何8页静态网站有一天都需要动态功能,所以从可扩展的东西开始总是一个好主意。

然后,第一个决定是使用框架或CMS。这取决于您对未来网站规模越来越大的期望,您开发自定义代码以实现动态功能的能力以及手头项目的结构和要求。

当我们需要使用CMS时,

Orchard如果ASP .NET MVC 3:看看我们的网站www.dreamrain.com,它看起来像一个静态网站,但实际上使用Orchard主题和模块来表示动态功能。如果您不需要主题和模块,您仍然可以创建一个8页的网站,然后您可以在将来扩展它。顺便说一句,我们在5天内建立了这个网站,进行了4个小时的开发工作

注意:Orchard可能需要完全信任,因此请检查其文档并询问GoDaddy是否允许。

WordPress如果PHP,

当我们需要使用的框架时,

用于.NET的ASP .NET MVC 3, Python的DjangoPyramid, PHP的Zend, Groovy / Java / J2EE的Grails, SCALA {/ 3}}