近期文章

Mac 2017-02-21

mac提示app已损坏,打不开.你应该将它移到废纸篓解决方案

今天在安装好一软件之后发现无法打开,提示:"xxx.app已损坏,打不开.你应该将它移到废纸篓", 原来而是Mac系统的安全设置问题。下面是这个问题的解决方法:
修改系统配置:系统偏好设置 -> 安全性与隐私。修改为任何来源
修改系统配置 如果没有这个选项的话(macOS Sierra 10.12),打开终端,执行 sudo spctl --master-disable即可。

6870 0
Python 2017-02-12

使用django-compressor压缩混淆静态文件

使用django-compressor压缩混淆静态文件

django-compressor可以把js/css等静态文件压缩,这样有利于减少网站的请求次数,还能节省网络带宽。 下面介绍下如何在django中集成django-compressor

安装django-compressor

安装很简单,pip安装下就可以了:
pip install django-compressor
然后在'setting'的INSTALLED_APPS中添加

INSTALLED_APPS = [
    #other
    'compressor'
]

setting配置

首先确保django.contrib.staticfiles已经包含在INSTALLED_APPS中,django1.6及以上版本是默认包含该app在其中的.

指定STATIC_URL

STATIC_ROOT = os.path.join(SITE_ROOT, 'collectedstatic')
STATIC_URL = '/static/'
STATICFILES = os.path.join(BASE_DIR, 'static')

STATIC_URL是客户端访问静态资源的根路径 配置STATICFILES_FINDERS:

STATICFILES_FINDERS = (
    'django.contrib....
Python 2017-01-17

为django的manage.py添加自定义命令

有时候会有这样的需求,为django执行一些定时任务,比如通知搜索引擎,例如百度,提交网站的一些地址给他们,通过为djangomanage.py添加自定义命令可以很容易的解决这个问题。下面介绍下如何添加。

首先需要在创建好的应用的根目录创建文件夹名为management的目录,然后继续在该目录创建commands的目录,并在两个目录中都要创建__init__.pypython文件。 目录创建好之后继续在commands的目录中添加ping_baidu.py文件,文件名将会是manage.py的命令名. 目录结构如下: 文件目录结构
然后是代码:

from django.core.management.base import BaseCommand, CommandError
from blog.models import Article, Tag, Category
from DjangoBlog.spider_notify import sipder_notify
from django.contrib.sites.models import Site

site = Site.objects.get_current().domain


class Command(BaseCommand):
    help = 'notify baidu url'

    def a...
Python 2017-01-15

为django添加RSS Feed功能

先简单介绍下RSS:

RSS(简易信息聚合)是一种消息来源格式规范,用以聚合经常发布更新数据的网站,例如博客文章、新闻、音频或视频的网摘。RSS文件(或称做摘要、网络摘要、或频更新,提供到频道)包含全文或是节录的文字,再加上发布者所订阅之网摘数据和授权的元数据。

其实就是一种聚合阅读,这样可以用feedly等工具来订阅你喜欢的网站,这样他们的网站更新了之后你就可以通过feedly这种工具来阅读更新的内容,而不用跑到网站上面去查看。

下面介绍下如何在你的Django网站中添加RSS功能,其实很简单,示例代码如下: 创建feed.py

from django.contrib.syndication.views import Feed
from blog.models import Article
from django.conf import settings
from django.utils.feedgenerator import Rss201rev2Feed
from DjangoBlog.common_markdown import common_markdown
from django.contrib.auth import get_user_model
from django.contrib.auth.models import User
from dja...
Python 2017-01-14

为django添加sitemap功能

sitemap是 Google 最先引入的网站地图协议,采用 XML 格式,它的作用简而言之就是优化搜索引擎的索引效率,详细的解释可以参考 维基百科。

下面介绍下如何为Django站点添加sitemap功能。

启用sitemap

djangosettings.pyINSTALLED_APPS中添加

'django.contrib.sites',
'django.contrib.sitemaps',

然后migrate数据库:

./manage.py makemigrations
./manage.py migrate

登陆Django后台,修改SITE为你Django网站的域名和名称,然后在settings.py中加入SITE_ID = 1来制定当前的站点。

添加sitemap功能

创建sitemap

创建sitemap.py.内容类似下面的代码:

from django.contrib.sitemaps import Sitemap
from blog.models import Article, Category, Tag
from accounts.models import BlogUser
from django.contrib.sitemaps import GenericSitemap
from django.core.urlresolvers i...
发现更多