From ea3d74f6a3d95dc76195fbb69d17444d9f8468bf Mon Sep 17 00:00:00 2001 From: agusmakmun <summon.agus@gmail.com> Date: Wed, 20 Apr 2016 20:10:13 +0700 Subject: [PATCH] Update path to static --- README.md | 2 +- _layouts/default.html | 16 ++-- ...rs-registered-inside-django-admin.markdown | 79 ++++++++++++++++++ {css => static/css}/bootstrap.min.css | 0 {css => static/css}/main.css | 0 {css => static/css}/super-search.css | 0 {css => static/css}/syntax.css | 0 static/img/_posts/Broadcast_Mail.png | Bin 0 -> 27604 bytes {img => static/img}/avatar.jpg | Bin {img => static/img}/favicon.ico | Bin {img => static/img}/screenshot-post-page.png | Bin {js => static/js}/bootstrap.min.js | 0 {js => static/js}/super-search.js | 0 13 files changed, 88 insertions(+), 9 deletions(-) create mode 100644 _posts/2016-04-20-adding-broadcast-mail-to-all-users-registered-inside-django-admin.markdown rename {css => static/css}/bootstrap.min.css (100%) rename {css => static/css}/main.css (100%) rename {css => static/css}/super-search.css (100%) rename {css => static/css}/syntax.css (100%) create mode 100644 static/img/_posts/Broadcast_Mail.png rename {img => static/img}/avatar.jpg (100%) rename {img => static/img}/favicon.ico (100%) rename {img => static/img}/screenshot-post-page.png (100%) rename {js => static/js}/bootstrap.min.js (100%) rename {js => static/js}/super-search.js (100%) diff --git a/README.md b/README.md index 0c1f527..b913a56 100644 --- a/README.md +++ b/README.md @@ -18,4 +18,4 @@ #### Screenshot - + diff --git a/_layouts/default.html b/_layouts/default.html index 9ae6f0a..a0bb7a9 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -5,7 +5,7 @@ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1"> - <link rel="shortcut icon" href="/img/favicon.ico" /> + <link rel="shortcut icon" href="/static/img/favicon.ico" /> <title>{% if page.title %}{{ page.title }} - {{ site.title }}{% else %}{{ site.author }}{% endif %}</title> <meta name="author" content="{{ site.author }}" /> <meta name="description" content="{% if page.title %}{{ page.title }}{% else %}{{ site.description }}{% endif %}" /> @@ -13,23 +13,23 @@ <link rel="alternate" type="application/rss+xml" title="RSS" href="/feed.xml"> <!-- syntax highlighting CSS --> - <link rel="stylesheet" href="/css/syntax.css"> + <link rel="stylesheet" href="/static/css/syntax.css"> <!-- Bootstrap core CSS --> - <link href="/css/bootstrap.min.css" rel="stylesheet"> + <link href="/static/css/bootstrap.min.css" rel="stylesheet"> <!-- Fonts --> <link href="//fonts.googleapis.com/css?family=Roboto+Condensed:400,300italic,300,400italic,700&subset=latin,latin-ext" rel="stylesheet" type="text/css"> <!-- Custom CSS --> - <link rel="stylesheet" href="/css/super-search.css"> - <link rel="stylesheet" href="/css/main.css"> + <link rel="stylesheet" href="/static/css/super-search.css"> + <link rel="stylesheet" href="/static/css/main.css"> </head> <body> <div class="container"> <div class="col-sm-3"> - <a href="/"><img id="about" src="/img/avatar.jpg" height="75px" width="75px" /></a> + <a href="/"><img id="about" src="/static/img/avatar.jpg" height="75px" width="75px" /></a> <h1 class="author-name">{{ site.author }}</h1> {% if site.about %} <div id="about"> @@ -67,7 +67,7 @@ ================================================== --> <!-- Placed at the end of the document so the pages load faster --> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> - <script src="/js/bootstrap.min.js"></script> - <script src="/js/super-search.js"></script> + <script src="/static/js/bootstrap.min.js"></script> + <script src="/static/js/super-search.js"></script> </body> </html> diff --git a/_posts/2016-04-20-adding-broadcast-mail-to-all-users-registered-inside-django-admin.markdown b/_posts/2016-04-20-adding-broadcast-mail-to-all-users-registered-inside-django-admin.markdown new file mode 100644 index 0000000..2f52eb7 --- /dev/null +++ b/_posts/2016-04-20-adding-broadcast-mail-to-all-users-registered-inside-django-admin.markdown @@ -0,0 +1,79 @@ +--- +layout: post +title: "Adding BroadCast Mail to All Users Registered inside Django Admin" +date: 2016-04-19 19:51:02 +0700 +categories: [python, django] +--- + +Adding BroadCast Mail to All User Registered in Django Admin. This is my last problem, we need custom default Django Admin to can submit BroadCast mail to All User. Because this is perfectly to make a promotions. + +This problem has been helped by our Danny W. Adair who are answered someone's question about the ["Django Admin Customizing"](http://stackoverflow.com/a/5803941/3445802 target="_blank"). + +> In this configuration, we use gmail for email backend. Please following this tutorial first [Email BackEnd with SMTP Gmail](https://agusmakmun.github.io/python/django/2016/04/18/email-backend-with-smtp-gmail.html). + +**1.** In your `models.py` + +{% highlight python %} +class BroadCast_Email(models.Model): + subject = models.CharField(max_length=200) + created = models.DateTimeField(default=timezone.now) + message = RichTextUploadingField() + + def __unicode__(self): + return self.subject + + class Meta: + verbose_name = "BroadCast Email to all Member" + verbose_name_plural = "BroadCast Email" + +{% endhighlight %} + +**2.** In your `admin.py`, importing some module for "admin" and for "email setup". + +{% highlight python %} +from django.contrib import admin +from django.utils.safestring import mark_safe +import threading +from django.conf import settings +from django.http import HttpResponse +from django.core.mail import (send_mail, BadHeaderError, EmailMessage) +from django.contrib.auth.models import User + +class EmailThread(threading.Thread): + def __init__(self, subject, html_content, recipient_list): + self.subject = subject + self.recipient_list = recipient_list + self.html_content = html_content + threading.Thread.__init__(self) + + def run(self): + msg = EmailMessage(self.subject, self.html_content, settings.EMAIL_HOST_USER, self.recipient_list) + msg.content_subtype = "html" + try: + msg.send() + except BadHeaderError: + return HttpResponse('Invalid header found.') + +class BroadCast_Email_Admin(admin.ModelAdmin): + model = models.BroadCast_Email + + def submit_email(self, request, obj): #`obj` is queryset, so there we only use first selection, exacly obj[0] + list_email_user = [ p.email for p in User.objects.all() ] #: if p.email != settings.EMAIL_HOST_USER #this for exception + obj_selected = obj[0] + EmailThread(obj_selected.subject, mark_safe(obj_selected.message), list_email_user).start() + submit_email.short_description = 'Submit BroadCast (1 Select Only)' + submit_email.allow_tags = True + + actions = [ 'submit_email' ] + + list_display = ("subject", "created") + search_fields = ['subject',] + +admin.site.register(models.BroadCast_Email, BroadCast_Email_Admin) + +{% endhighlight %} + +**3.** And then, you can see. we have **Submit BroadCast** selection, just click button **Go** to submit broadcast mail. + + + diff --git a/css/bootstrap.min.css b/static/css/bootstrap.min.css similarity index 100% rename from css/bootstrap.min.css rename to static/css/bootstrap.min.css diff --git a/css/main.css b/static/css/main.css similarity index 100% rename from css/main.css rename to static/css/main.css diff --git a/css/super-search.css b/static/css/super-search.css similarity index 100% rename from css/super-search.css rename to static/css/super-search.css diff --git a/css/syntax.css b/static/css/syntax.css similarity index 100% rename from css/syntax.css rename to static/css/syntax.css diff --git a/static/img/_posts/Broadcast_Mail.png b/static/img/_posts/Broadcast_Mail.png new file mode 100644 index 0000000000000000000000000000000000000000..d761da1e5fa2247971a076ae847a28e70e24807d GIT binary patch literal 27604 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%0D7vy%Zl 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 SFu?!i0_3EXrOG6YKK~C*g-2ij literal 0 HcmV?d00001 diff --git a/img/avatar.jpg b/static/img/avatar.jpg similarity index 100% rename from img/avatar.jpg rename to static/img/avatar.jpg diff --git a/img/favicon.ico b/static/img/favicon.ico similarity index 100% rename from img/favicon.ico rename to static/img/favicon.ico diff --git a/img/screenshot-post-page.png b/static/img/screenshot-post-page.png similarity index 100% rename from img/screenshot-post-page.png rename to static/img/screenshot-post-page.png diff --git a/js/bootstrap.min.js b/static/js/bootstrap.min.js similarity index 100% rename from js/bootstrap.min.js rename to static/js/bootstrap.min.js diff --git a/js/super-search.js b/static/js/super-search.js similarity index 100% rename from js/super-search.js rename to static/js/super-search.js -- GitLab