test-django-newsfeed
所属分类:后台框架
开发工具:HTML
文件大小:3407KB
下载次数:0
上传日期:2023-02-14 19:02:28
上 传 者:
sh-1993
说明: 测试django新闻馈送,,
(test-django-newsfeed,,)
文件列表:
core (0, 2022-07-12)
core\__init__.py (0, 2022-07-12)
core\admin.py (689, 2022-07-12)
core\apps.py (83, 2022-07-12)
core\migrations (0, 2022-07-12)
core\migrations\__init__.py (0, 2022-07-12)
core\models.py (57, 2022-07-12)
core\tasks.py (511, 2022-07-12)
core\tests.py (60, 2022-07-12)
core\views.py (63, 2022-07-12)
manage.py (676, 2022-07-12)
requirements.txt (91, 2022-07-12)
screenshot (0, 2022-07-12)
screenshot\newsfeed_example.gif (3569599, 2022-07-12)
static (0, 2022-07-12)
static\css (0, 2022-07-12)
static\css\bootstrap.min.css (160302, 2022-07-12)
static\css\style.css (500, 2022-07-12)
templates (0, 2022-07-12)
templates\core (0, 2022-07-12)
templates\core\base.html (1229, 2022-07-12)
templates\core\footer.html (1029, 2022-07-12)
templates\core\navbar.html (1434, 2022-07-12)
templates\newsfeed (0, 2022-07-12)
templates\newsfeed\email (0, 2022-07-12)
templates\newsfeed\email\newsletter_email.html (1086, 2022-07-12)
templates\newsfeed\issue_detail.html (1719, 2022-07-12)
templates\newsfeed\issue_list.html (1962, 2022-07-12)
templates\newsfeed\latest_issue.html (2927, 2022-07-12)
templates\newsfeed\newsletter_subscribe.html (1339, 2022-07-12)
templates\newsfeed\newsletter_subscription_confirm.html (1505, 2022-07-12)
templates\newsfeed\newsletter_unsubscribe.html (1350, 2022-07-12)
test_django_newsfeed (0, 2022-07-12)
test_django_newsfeed\__init__.py (123, 2022-07-12)
test_django_newsfeed\asgi.py (417, 2022-07-12)
... ...
django-newsfeed example project
============================
This is a example project created using the `django-newsfeed package`_.
This example project overrides the templates to use bootstrap.
It also uses celery to handle newsletter delivey to the subscribers.
.. _django-newsfeed package: https://github.com/saadmk11/django-newsfeed
What is django-newsfeed?
========================
`django-newsfeed`_ is a news curator and newsletter subscription package for django.
It can be used to create a news curator website which sends newsletters to
their subscribers also it can be used to add a news subscription section to your website.
checkout the package `here`_
.. _here: https://github.com/saadmk11/django-newsfeed
.. _django-newsfeed: https://github.com/saadmk11/django-newsfeed
Handle Sending newsletter using a task queue
============================================
In this Example project we use ``celery``, ``celery-beat`` and ``redis`` to
send emails in the background.
Gist of the project:
Celery Task
-----------
.. code-block:: python
from celery.decorators import task
from newsfeed.models import Newsletter
from newsfeed.utils.send_newsletters import send_email_newsletter
@task(name="send_email_newsletter_task")
def send_email_newsletter_task(newsletters_ids=None, respect_schedule=True):
newsletters = None
if newsletters_ids:
newsletters = Newsletter.objects.filter(
id__in=newsletters_ids
)
send_email_newsletter(
newsletters=newsletters,
respect_schedule=respect_schedule
)
Celery Schedule
---------------
.. code-block:: python
app.conf.beat_schedule = {
'send_email_newsletter': {
'task': 'send_email_newsletter_task',
# http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html
'schedule': crontab(minute=0, hour='*'),
}
}
Admin Action override
---------------------
.. code-block:: python
from django.contrib import admin, messages
from newsfeed.admin import NewsletterAdmin
from newsfeed.models import Newsletter
from .tasks import send_email_newsletter_task
admin.site.unregister(Newsletter)
@admin.register(Newsletter)
class NewsletterAdmin(NewsletterAdmin):
def send_newsletters(self, request, queryset):
newsletter_ids = list(queryset.values_list('id', flat=True))
send_email_newsletter_task.delay(
newsletters_ids=newsletter_ids,
respect_schedule=False
)
messages.add_message(
request,
messages.SUCCESS,
'Sending selected newsletters(s) to the subscribers',
)
Application Gif:
----------------
.. figure:: screenshot/newsfeed_example.gif
近期下载者:
相关文件:
收藏者: