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
![](https://travis-ci.org/infoagetech/django-activities.png?branch=master)
[<;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