将html5样板模板包含到django项目中的框架。

django-html5-boilerplate的Python项目详细描述


我真的很喜欢使用HTML5样板作为我所有网站的基础,包括我的Django项目。在过去,我将它作为其他项目的一部分包括在内,但发现自己为每个新项目重复相同的步骤。django html5样板(dh5bp)项目通过将html5样板(h5bp)项目合并到一个易于使用的django友好python包中来解决这个问题。


有关html5样板的信息,请访问https://github.com/h5bp/html5样板

与其他h5bp到django端口不同的是,它包含的fabric脚本可以自动将h5bp的新版本转换为django友好的python模块。理想情况下,这将使更新最新版本的h5bp变得微不足道。

pip install django-html5-boilerplate


requirements
==


要使用包,只需要django>;=1.3的版本。这是安装文件中的唯一依赖项。

要使用fabric脚本用最新的h5bp更新存储库,还需要安装fabric。我使用fabric>;=1.7,但脚本仍然非常简单,因此它可能在fabric>;=1.0上工作。


此库已在python>;=2.6上测试过。


usage
=


所有静态文件和模板都在dh5bp目录下使用了名称空间。您需要将dh5bp包含在"settings.py"中:


已安装的应用程序=(
"django.contrib.auth"、
"django.contrib.contenttypes"、
"django.contrib.sessions"、
"django.contrib.sites"、
"django.contrib.messages",
"django.contrib.staticfiles"、
"取消注释下一行以启用管理:
"django.contrib.admin"、
"取消注释下一行以启用管理文档:
"django.contrib.admindocs"、

"dh5bp",




h5bp模板
----
要继承h5bp页面架构的任何模板都包括以下内容:

{%扩展"dh5bp/base.html"%}
{%从未来加载url%}
{%load staticfiles%}
{%block title%}title here{%endblock%}
{%block content%}如果添加了第二个模板,将所有javascript包含在"head"标记中,则页面标记在此{%endblock%}

。我不建议您使用这个,除非您使用的是jquery mobile这样的移动库,希望在正文之前加载。

{%extends'dh5bp/base_script_in_head.html%}
{%load url from future%}
{%load staticfiles%}
{%block title%}此处的标题{%endblock%}
{%block content%}此处的页面标记{%endblock%}

此外,您还可以在标题栏中定义更多样式、元和其他与标题相关的标记:

{%block head%}
<;link rel="stylesheet"ref="{%static"css/your\css.css"%}">;
<;meta name="keywords"content="your keyword">;

{%endblock%}

要在main.js之前或之后包含javascript,请执行以下操作:

{%block pre_main_script%}
<;script>;
var mysite={
/////可以将从服务器传递的全局变量放在这里
};
<;/script>;
<;!--如果最终用户正在查看您的站点,则可能需要另一个脚本文件,如require.js-->;
{%endblock%}

{{%block post_main_script%}
<;script src="{%static"js/other_javascript_file.js"%}">;
{%endblock%}

IE<;=7的版本,则会显示一条消息,指示他们正在使用过时的浏览器。若要覆盖该消息:

{%block-posited嫒message%}
<;p class="browseHappy">;在v1.0.3+中,有两个新的模板变量"html嫒attr"和"body嫒attr",它可用于向这些html元素添加属性(例如将"id"添加到"body"标记,将"manifest"添加到"html"标记)。这些变量应该作为字符串提供给模板。

您需要在GA代码中提供模板变量"dh5bp_ga_code",以激活脚本。您可能需要使用上下文处理器:

>;https://docs.djangoproject.com/en/dev/ref/templates/api/;编写自己的上下文处理器

javascript
----
您将获得来自h5bp的最新"jquery"、"modernizer"和"console"polyfill。此外,基本模板将查找静态文件'js/main.js'。在"js/main.js"中输入站点所有页面所需的任何javascript。我已经创建了两个块(如上所述),您可以在其中放置需要在主脚本前后执行的javascript。

来自"static\u root"的文件。此变量应作为字符串提供给模板。

url&views
----
h5bp 404页已被移植并连接,以及类似的500页外观。若要在项目中使用这些功能,请将以下内容添加到"url.py"中:

handler404='dh5bp.views.page_not碜found'
handler500='dh5bp.views.server碜error'

我已连接了默认的"favicon.ico"、"apple touch icon.png"、"humans.txt"、"robots.txt"和"crossdomain.xml",它们来自还有h5bp。要将这些内容包含到项目中,只需将dh5bp url附加到url:

from dh5bp.url将urlpatterns导入为dh5bp_url

urlpatterns=patterns('',
在添加DH5BP URL之前,您既不能包含这些URL,也不能声明自己的版本(最先出现的定义将是Django使用的定义)。


这个文件所做的大部分工作超出了django的范围,应该由您使用的任何静态文件服务器来处理,因此我没有将其包含在这个项目中。


roadmap
==


脚本更加健壮,如果某些步骤执行不正确,则会大声失败,以便我们知道h5bp中发生了重大变化。


issues
=


>https://github.com/mattsnider/django-html5-boilerplate/issues


=licensing
=

标签:

  • 项目
  • django
  • gt
  • 框架
  • 模板
  • 样板
  • html5
  • boilerplate
  • h5bp
  • 欢迎加入QQ群-->: 979659372 Python中文网_新手群

    推荐PyPI第三方库


    热门话题
    由于java的原因,maven无法运行代码。lang.NoClassDefFoundError:com/fasterxml/jackson/annotation/JsonMerge   Android项目中的java Creative SDK图像编辑器UI   java如何在Android Studio中使用DataOutputStream上传文件并将其他参数传递到web服务器   java倒计时服务打开时崩溃   java将RubyonRails项目转换为JRubyonRails项目   java我的图库意图是不显示图像?为什么?   java如何在春季启动时跳过mongodb/   java@Autowired在Spring中是如何实现的   甲骨文Akka java。util。同时发生的timeoutexception线程池频繁超时   java maven依赖项对spring启动应用程序有何影响?   java Firestore执行复合查询,未截获事件“已修改”   java ItemStreamException:未能初始化读取器,原因是:IllegalStateException:流已初始化。重新开放前关闭   java将空标记解组到集合的新实例中   使用AspectJ的java新手:无法调用aspect   java查找棋类游戏的所有组合   你为什么要这样做and==与Java中的equals方法不一样吗?   如何对使用JavaUUID的代码进行单元测试?