Provides Articles using (FeinCMS content) with categories and tags.
Project description
Extensible FeinCMS content article for Django
=============================================
This is an extensible [FeinCMS](https://github.com/mattiask/feincms) content
article system for Django, designed to provide a simple Article model that is
extensible.
What is an Article? Many things! You can use it as a news section, as a
knowledge base, as a catalogue of pdfs, or pretty much anything else you can
make it fit with.
Installation and setup
----------------------
Firstly, get the package.
pip install feincms-articles
You will then need to add `articles` to your `INSTALLED_APPS` setting:
INSTALLED_APPS = (
# ...
'articles',
)
Before proceeding with `manage.py syncdb`, you will need to create some content
typesm and you may want to add some article extensions. By default the articles
module has a basic set of content fields such as title, summary and content.
ContentTypes
------------
You need to create some FeinCMS content types to add to your Articles. No types
are created by default, because there is no way to unregister them. A sane
default might be to create `MediaFileContent` and `RichTextContent` models; you
can do this by adding the following lines somewhere into your project, for
example at the bottom of a `models.py` file that will be processed anyway:
from feincms.content.richtext.models import RichTextContent
from feincms.content.medialibrary.v2 import MediaFileContent
from articles.models import Article
Article.register_regions(('top', _('Top content')), ('main', _('Main region')),)
Article.create_content_type(RichTextContent)
Article.create_content_type(MediaFileContent, POSITION_CHOICES=(('block', _('block')), ('left', _('left')), ('right', _('right')),))
Extensions
----------
Extensions are a way to add often-used functionality the Article model. The
extensions are standard python modules with a `register()` method which will be
called upon registering the extension. The `register()` method receives the
`Article` class itself and the model admin class `ArticleAdmin` as arguments.
The extensions can be activated by adding the following to a the bottom of a
`models.py` file that will be processed anyway:
from articles.models import Article
Article.register_extensions(
'articles.modules.category.extensions.category',
'feincms.module.extensions.datepublisher',
'articles.extensions.tags',
'articles.extensions.thumbnail',
)
If the extension requires it's own models (like the category extension) then
the app containing the models will also need to be added to your
`INSTALLED_APPS`.
*[Please note that as of FeinCMS 1.6 you will no longer be able to use the
short-form registration]*
List of available extensions:
- `articles.extensions.location`
- `articles.extensions.tags`
- `articles.extensions.thumbnails`
- `articles.modules.category.extensions.category`
You can also use some of the generic extensions from
[FeinCMS](https://github.com/feincms/feincms/tree/master/feincms/module/extensions).
Creating your own extensions
----------------------------
To add an extension create a python module that defines a register function
that accepts the Article class and the ArticleAdmin class as arguments and
modifies them as required.
Here is the address extension (similar to articles/extensions/tags.py):
def register(cls, admin_cls):
cls.add_to_class('tags', TaggableManager(verbose_name=_('tags'), blank=True))
cls.urlpatterns += patterns('taggit.views',
url(r'^tags/(?P<slug>[^/]+)/$', 'tagged_object_list', {'queryset': cls.objects.active}, name="article_tagged_list"),
)
if admin_cls:
if admin_cls.fieldsets:
admin_cls.fieldsets[0][1]['fields'].append('tags')
=============================================
This is an extensible [FeinCMS](https://github.com/mattiask/feincms) content
article system for Django, designed to provide a simple Article model that is
extensible.
What is an Article? Many things! You can use it as a news section, as a
knowledge base, as a catalogue of pdfs, or pretty much anything else you can
make it fit with.
Installation and setup
----------------------
Firstly, get the package.
pip install feincms-articles
You will then need to add `articles` to your `INSTALLED_APPS` setting:
INSTALLED_APPS = (
# ...
'articles',
)
Before proceeding with `manage.py syncdb`, you will need to create some content
typesm and you may want to add some article extensions. By default the articles
module has a basic set of content fields such as title, summary and content.
ContentTypes
------------
You need to create some FeinCMS content types to add to your Articles. No types
are created by default, because there is no way to unregister them. A sane
default might be to create `MediaFileContent` and `RichTextContent` models; you
can do this by adding the following lines somewhere into your project, for
example at the bottom of a `models.py` file that will be processed anyway:
from feincms.content.richtext.models import RichTextContent
from feincms.content.medialibrary.v2 import MediaFileContent
from articles.models import Article
Article.register_regions(('top', _('Top content')), ('main', _('Main region')),)
Article.create_content_type(RichTextContent)
Article.create_content_type(MediaFileContent, POSITION_CHOICES=(('block', _('block')), ('left', _('left')), ('right', _('right')),))
Extensions
----------
Extensions are a way to add often-used functionality the Article model. The
extensions are standard python modules with a `register()` method which will be
called upon registering the extension. The `register()` method receives the
`Article` class itself and the model admin class `ArticleAdmin` as arguments.
The extensions can be activated by adding the following to a the bottom of a
`models.py` file that will be processed anyway:
from articles.models import Article
Article.register_extensions(
'articles.modules.category.extensions.category',
'feincms.module.extensions.datepublisher',
'articles.extensions.tags',
'articles.extensions.thumbnail',
)
If the extension requires it's own models (like the category extension) then
the app containing the models will also need to be added to your
`INSTALLED_APPS`.
*[Please note that as of FeinCMS 1.6 you will no longer be able to use the
short-form registration]*
List of available extensions:
- `articles.extensions.location`
- `articles.extensions.tags`
- `articles.extensions.thumbnails`
- `articles.modules.category.extensions.category`
You can also use some of the generic extensions from
[FeinCMS](https://github.com/feincms/feincms/tree/master/feincms/module/extensions).
Creating your own extensions
----------------------------
To add an extension create a python module that defines a register function
that accepts the Article class and the ArticleAdmin class as arguments and
modifies them as required.
Here is the address extension (similar to articles/extensions/tags.py):
def register(cls, admin_cls):
cls.add_to_class('tags', TaggableManager(verbose_name=_('tags'), blank=True))
cls.urlpatterns += patterns('taggit.views',
url(r'^tags/(?P<slug>[^/]+)/$', 'tagged_object_list', {'queryset': cls.objects.active}, name="article_tagged_list"),
)
if admin_cls:
if admin_cls.fieldsets:
admin_cls.fieldsets[0][1]['fields'].append('tags')
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
feincms-articles-0.2.tar.gz
(11.2 kB
view details)
File details
Details for the file feincms-articles-0.2.tar.gz
.
File metadata
- Download URL: feincms-articles-0.2.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 618e191ed44d6bee86b775ce79cbcaa6e0a76503347d2b5f1641612b66cbe2fa |
|
MD5 | a4f686e4f721f191ed6e3f6efa8ac024 |
|
BLAKE2b-256 | 231146024e6d95bf606ff2f5cf839bdf4f675f7b5f51d54c528dbacae89cf662 |