在你的站点中启用特提斯小控件的应用程序。
django-tethys_gizmos的Python项目详细描述
gizmo是构建块,可用于为web应用程序创建漂亮的交互控件。使用小发明, 开发人员可以使用最少的编码将日期选择器、绘图和映射添加到模板中。
安装
特提斯小发明可以通过pip或下载源安装。通过PIP或Easy_安装:
pip install django-tethys_gizmos
通过下载安装:
git clone https://github.com/CI-WATER/django-tethys_gizmos.git cd django-tethys_gizmos python setup.py install
django配置
将“特提斯小发明”添加到已安装的应用程序设置中,如下所示:
INSTALLED_APPS = ( ... 'tethys_gizmos', )
将上下文处理器添加到设置。例如:
TEMPLATE_CONTEXT_PROCESSORS = ('django.contrib.auth.context_processors.auth', 'django.core.context_processors.debug', 'django.core.context_processors.i18n', 'django.core.context_processors.media', 'django.core.context_processors.static', 'django.core.context_processors.tz', 'tethys_gizmos.context_processors.tethys_gizmos_context')
将tethys gizmos urlconf包含到带有“gizmos”名称空间的项目url.py中:
url(r'^gizmos/', include('tethys_gizmos.urls', namespace='gizmos'))
四。特提斯小发明广泛使用twitter引导和jquery。这些库必须包含在所有模板中 使用小发明的。由于这两个库的普遍使用,我们让开发人员决定如何 提供这些依赖项。建议您将它们包含在“page.html”(见下文)或其他基础中 网站中所有页面使用的模板。
5个。特提斯小控件包括所有可用小控件的展示,包括实时演示和代码示例。获取此页 工作时,您需要在基本“templates”目录中创建一个名为“page.html”的模板,该模板包含块 称为“样式”、“正文标记”、“主要内容”和“脚本”。还包括bootstrap和jquery依赖项。你的 “page.html”应该是这样的:
<!DOCTYPE html> <html> <head> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"> <script src="https://code.jquery.com/jquery-2.1.1.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> {% block styles %} {% endblock %} </head> <body {% block bodytag %}{% endblock %}> {% block primary_content %} {% endblock %} {% block scripts %} {% endblock %} </body> </html>
注意
如果您的jquery和bootstrap javascript脚本包含在上面描述的文档头部,那么gizmo工作得最好。
快速启动
“最小编码”是什么意思?看看下面的例子。假设你想包括一个日期 使用gizmo在模板中选取器。首先,创建一个包含所有配置选项的字典 对于模板的视图/控制器中的日期选择器(稍后将详细介绍),并将其添加到上下文中:
def my_view(request): date_picker_options = {'display_text': 'Date', 'name': 'date1', 'autoclose': True, 'format': 'MM d, yyyy', 'start_date': '2/15/2014', 'start_view': 'decade', 'today_button': True, 'initial': 'February 15, 2014'} context = {'date_picker_options': date_picker_options} return render(request, 'path/to/my/template.html', context)
接下来,打开要向其中添加gizmo的模板并加载tethys\u gizmo库。一定要 在任何gizmo出现之前,在模板顶部的附近执行此操作。这只需要 对每个使用小控件的模板执行一次:
{% load tethys_gizmos %}
现在,使用gizmo标记将日期选择器插入到模板中的任何位置。传递gizmo的名称 以及作为参数从视图传递给模板的选项字典:
{% gizmo date_picker date_picker_options %}
最后,在模板的末尾–在所有的gizmo标记之后–插入gizmo依赖项 标签。对于每个使用gizmo的模板,只需要执行一次。
{% gizmo_dependencies %}
注意
在特提斯应用程序开发中使用特提斯Gizmo时,不必在模板中包含gizmo_dependencies标记。依赖项已包含在app_base模板中。
您的模板可能看起来像这样:
{% load tethys_gizmos %} <DOCTYPE html> <html> <head> ... </head> <body> ... {% gizmo date_picker date_picker_options %} ... {% gizmo_dependencies %} </body> </html>
工作原理
gizmo由html、javascript和css组成。呈现模板时,每个gizmo 标记被呈现gizmo所需的html替换。所有小控件都接受python字典 具有配置gizmo的选项。每个gizmo的选项都记录在本页中。
javascript和css依赖项加载到模板中gizmo_依赖项的位置 标签。注意gizmo_dependencies标记必须在所有gizmo标记之后调用 否则某些依赖项可能无法正确加载。
可选地,gizmo_依赖项可以使用js或css调用标记,以便仅加载 分别是javascript依赖项还是css依赖项。毕竟必须调用此标记的规则 gizmo标记仍然适用。必须调用两次gizmo_依赖项 使用此功能时。
{% gizmo_dependencies js %} {% gizmo_dependencies css %}
必须在模板顶部加载tethys\u gizmo库,以提供gizmo和 gizmo_dependencies模板标记。