Django活动应用程序

django-activities的Python项目详细描述


[](http://travis ci.org/infoagetech/django activities)
[<;img src="https://coveralls.io/repos/infoagetech/django activities/badge.png">;](https://covertalls.io/r/infoagetech/django activities)


django activities
=====
django activities是为django编写的通用python activities模块。您可以创建关于任何对象类型的活动,并与任何对象类型共享该注释。


*[django core](https://github.com/infoagetech/django core)


配置
===
配置步骤:


1。添加到已安装的应用程序。django活动有两个依赖项,上面列出了这两个依赖项。两者都需要添加到设置文件中的已安装应用程序中。:

installed_apps+=(

‘django_core’,
‘activities’,





默认情况下,django activities带有内置视图。如果您喜欢或完全自己编写,您可以使用它们。

要使用这些视图,请执行以下几个配置步骤:

1。创建将用作应用程序模板和django活动模板之间的网关的html文件。一个简单的模板类似于:

创建基本活动html文件后,需要在设置中链接到该文件。在您的设置文件中,添加以下指向您刚刚创建的模板的设置:

activities_base_template='path/to/your/template/base_activities.html'


>3。在用于检索自定义基本模板的设置中添加上下文处理器:

template_context_processor s=(

‘activities.context_processors.template_name',




4。添加url(推荐的方法不再是通用url。请参阅扩展url部分:

url patterns=patterns('',

url(r'^activities',include('activities.url'),




5。还有一些默认的.less和.js文件也可以帮助这些活动。这些是可选的,js需要jquery。这些文件位于:

/static/activities/js/activities.js
/static/activities/less/activities.less




custom activity url
----

活动视图的子类(如特殊权限检查视图混合)。如果是这样的话,你需要做两件事。首先,创建一个包含要使用的mixin的视图。第二,从url.py文件中调用"activities.urls.get-urls(…)"方法:

\显式声明活动应使用哪个对象的方法


常规url的内容
url(r'^/foo/?$',someview.as_view(),name='my_view'),




获取URL(扩展urlpatterns=urlpatterns,
根urlpattern=my view,
类前缀=myactives,
基类=(mycustomactitiesview,))

这将生成以下URL:

-/foo/活动
-/foo/活动/<;活动ID>;
-/foo/活动/<;活动ID>;/编辑
-/foo/活动/<;活动ID>;/删除
-etc


表单呈现
----
不同的应用程序呈现不同的表单。有鉴于此,此应用程序允许您在设置中定义用于呈现表单的函数的位置。

例如,如果我要使用[django bootstrap form]应用程序(https://github.com/tzangms/django-bootstrap-form)来呈现表单,我将为模板标记表单呈现函数提供以下设置:

activities\u form\u renderer='bootstrapform.templatetags.bootstrap.bootstrap'

,然后所有表单都将使用django bootstrap表单库呈现。您可以选择提供以下字符串,这些字符串将使用表、段落或列表标记呈现该窗体:


activities_form_renderer='as_ul'使用<;ul>;呈现表单

这将默认为将表单呈现为定义了表单的``````方法的格式。


下面的示例是有关如何使用django活动的一些基本示例:

>;>;来自django.contrib.auth import get庘u user庘model
>;>from activities.models import activity
>;
>;>user=get庘u user庘model()
>;>user=user.objects.create庘user(username='hello')
>;
>;>#活动涉及的对象
>;>;关于_obj=user.objects.create_user(username='world')
>;>;n=activity.objects.create(created_user=user,
…text='hello world',
…关于=关于目标,
…source="comment")
>;>n.text
‘Hello World’
>;>user_activities=activity.objects.get_for_user(user=user)
>;>len(user_activities)
1
>;>object_activities=activity.objects.get_for_object(obj=about_obj)
>;>len(object_activities)
1


然后,您可以简单地扩展活动模型:



from activities.models导入abstractactivity

>类myactivity(abstractactivity):
"活动应用程序的具体实现。"
这里的内容

自定义活动呈现
==
呈现活动时,``get_html``将检查activity``about``对象是否实现了活动本身的自定义呈现。为了进行自定义呈现,``about``对象模型需要实现如下类:


def get_activity_created_html(self,activity,**kwargs):
"有关此对象的已创建活动的活动呈现程序。"
"执行从manage.py文件所在的``tests``目录返回html

运行:

python manage.py test

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
爪哇领导人选举   java查询MongoDB数组并使用最匹配的元素进行排序   java使用Maven在Tomcat上生成和访问WSDL   java从给定列表中做出不同的选择   java读取netflow/rflow(ddwrt)数据包内容   jaxb反序列化XML以在Java中动态创建类   通过Java执行的Curl命令在windows中有效,而不是在linux中   java同步方法是否阻止更新对象字段?   带有自定义适配器崩溃应用程序的java Android ListView   java字符串到字符串数组的转换   使用redis缓存java对象:为什么它比ConcurrentHashMap更好?   java再次加载jni库时会发生什么?   java ClassNotFoundException在JustSerialized类的反序列化期间发生