探索Django网站开发客户端的项目
项目描述
Ray的部件交换
Ray的部件交换是一个探索Django网站开发客户端的项目。目的是提供工具、小部件、视图和其他服务,这些服务不适合Django核心,但对于网站开发仍然是必需的。
初始目标
我们旨在提供一组简单的组件,可以轻松集成到Django表单中
日历组件
数值范围组件
时间组件
AJAX自动完成组件
调色板
完整的RGB选择
颜色子集选择
长期目标
处理CSS和JavaScript艺术品的压缩和聚合。(注意:Reinout:可能不会,因为应用程序应该只做一件事:压缩/聚合可以由其他应用程序完成)。
客户端输入验证(可能通过Ajax回调?)
安装
Ray的部件交换依赖于django-staticfiles,因为这是目前处理CSS和JavaScript文件的最佳方式。它也可能最终以某种形式出现在Django 1.3中。
django-rays的setup.py自动依赖于django-staticfiles,因此安装django-rays会自动引入django-staticfiles。
将rays和staticfiles添加到您的设置文件的INSTALLED_APPS。
Django-staticfiles需要一些样板代码。实际上,Django 1.3应该使得这一点变得不再必要。有关更多信息,请参阅官方django-staticfiles文档,以及一篇博客文章,其中包含更详细的解释和示例片段。
在您使用django-rays的网站上,您需要将一些django-staticfiles的样板代码添加到您的设置文件中
# Used for django-staticfiles STATIC_URL = '/static_media/' TEMPLATE_CONTEXT_PROCESSORS = ( # Default items. "django.core.context_processors.auth", "django.core.context_processors.debug", "django.core.context_processors.i18n", "django.core.context_processors.media", # Needs to be added for django-staticfiles to allow you to use # {{ STATIC_URL }}myapp/my.css in your templates. 'staticfiles.context_processors.static_url', )
并在您的urlconf中,将以下内容添加到urls.py的末尾
if settings.DEBUG: # Add this also to the projects that use this application. # It allows django-staticfiles to serve up the /media files # in DEBUG mode. urlpatterns += patterns('', (r'', include('staticfiles.urls')), )
在生产环境中,使用build_static管理命令来准备所有静态文件以供apache使用。
CSS/JS的包含是通过使用Django的表单媒体处理来实现的。因此,不要忘记在模板的头部添加您的等效代码。
{{ form.media }}
。
开发
源代码位于bitbucket上。错误跟踪器也在那里。
对于想要使用buildout的开发者,提供了一个小的buildout.cfg文件,用于设置开发和测试环境。当然,您也可以使用常规的virtualenv/pip设置。
运行python bootstrap.py和bin/buildout以初始化buildout环境并获取所有依赖项。现在您可以使用bin/test来检查运行测试。您可以使用bin/django syncdb来设置一个简单的示例项目。现在运行bin/django runserver以启动开发服务器,并将浏览器指向https://:8000/。
小部件文档
自动完成
AutocompleteInput小部件将常规文本输入小部件与jQuery UI的自动完成功能连接起来。它目前使用jQuery的自动完成功能与一个提供必要数据的URL(请参阅jQuery的远程数据源演示)连接起来。
该URL应接受一个term GET参数,并返回一个包含字典的JSON列表。字典必须包含“value”和/或“label”键。如果其中一个缺失,另一个将被使用两次。标签是用户可见的字符串,而值是放入表单数据中的值。
您可以将url(只是要调用的URL)或urlname(在urlconf中查找的名称)传递给小部件。
示例用法
from django import forms from rays.widgets import AutocompleteInput class AnimalForm(forms.Form): name = forms.CharField( label=_('Enter animal name'), max_length=50, widget=AutocompleteInput(urlname='autocomplete-animals'))
日期选择器
DatepickerInput小部件将常规文本输入小部件与jQuery的日期选择器连接起来。
示例用法
from django import forms from rays.widgets import DatepickerInput class DatepickerForm(forms.Form): start_date = forms.DateField(widget=DatepickerInput()) end_date = forms.DateField(widget=DatepickerInput(format='%Y.%m.%d'))
贡献者
Ray的小部件交换的主要作者包括
Russell Keith-Magee <russell@keith-magee.com>
Gregory Müllegger <gregor@muellegger.de>
Reinout van Rees http://reinout.vanrees.org
Glen Somerville <glen@syneus.fi>
以下是一个不可避免的不完整的感谢名单——提交补丁、报告错误并使Ray的小部件交换变得更加出色的人们
变更日志
0.0.1(未发布)
添加了自动完成小部件。
添加了日期输入小部件。
添加了jQuery和jQuery UI + CSS和i18n。
添加了django-staticfiles依赖项,因为这是当今处理静态js/css文件的最佳方法。
项目详情
django-extrawidgets-1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 460d58eda3d1d2d4faec83c4ed608a0e29e44158b90cb1d62fdb5ae6480df2a1 |
|
MD5 | 792e6f55b0a53e545d0831e426791bc0 |
|
BLAKE2b-256 | fa8db35c3e3f07f1c90c1e42bad2eba0b04bfb0d2f7ffd059f6d8c270b74d282 |