跳转到主要内容

可重复使用的django应用,用于处理您网站的/favicon.ico和robots.txt

项目描述

一个可重复使用的应用,用于添加favicon.ico、robots.txt、SEO技巧和404/500错误页面处理,适用于您的网站。

安装

使用pip或easy_install安装“django-site-basics”

pip install django-site-basics

将“site_basics”和可选的“sitemetrics”添加到settings.py中的INSTALLED_APPS

INSTALLED_APPS = (
    ...
    'sitemetrics', # (optional) for Google Analytics support
    'site_basics',
)

将site_basics URL模式和处理程序(如果需要)添加到urls.py

handler404 = 'site_basics.views.page_404'
handler500 = 'site_basics.views.page_500'

urlpatterns = patterns('',
    ...
    url(r'^', include('site_basics.urls')),
)

将Django的LocaleMiddleware替换为UpdatedLocaleMiddleware,在您的MIDDLEWARE_CLASSES中

MIDDLEWARE_CLASSES = (
    ...
    #'django.middleware.locale.LocaleMiddleware', # disabled in favor of UpdatedLocaleMiddleware
    'site_basics.middleware.UpdatedLocaleMiddleware',
    ...
)

用法

favicon

将favicon.ico放入您的STATIC_ROOT。然后就可以使用了,如果您的STATIC_URL = ‘/static/’,/favicon.ico将自动重定向到/static/favicon.ico。

否则,您可以使用FAVICON_PATH设置自定义favicon的路径。例如

FAVICON_PATH = STATIC_URL + 'images/favicon.png'

robots.txt

robots.txt将自动工作,但如果您需要自定义它,请将自定义robots.txt文件放入您的模板目录。如果需要更改模板位置,请使用ROBOTS_TEMPLATE设置(默认为robots.txt)。示例

ROBOTS_TEMPLATE = 'myfolder/robots.txt'

UpdatedLocaleMiddleware

这是对Django i18n_urlpatterns和SEO问题的一个修复,这些问题在Yawd的文章中描述。

它将LocaleMiddleware的i18n重定向从临时(302)更改为永久(301),以防止搜索引擎索引和排名相同页面的双链接。

要激活它,请将Django的LocaleMiddleware替换为UpdatedLocaleMiddleware,在您的MIDDLEWARE_CLASSES中

MIDDLEWARE_CLASSES = (
    ...
    #'django.middleware.locale.LocaleMiddleware', # disabled in favor of UpdatedLocaleMiddleware
    'site_basics.middleware.UpdatedLocaleMiddleware',
    ...
)

错误页面

错误页面默认工作,并提供来自AnnantaRobotik的精美主题。

http://www.designersdigest.co/wp-content/uploads/2010/03/404-Error-Template.jpg http://mogoolab.com/wp-content/uploads/2011/10/robotik_1-450x260.png

在开发中,您可以通过打开/test_page_404/和/test_page_500/来测试这些视图。

Annanta是默认的,但您可以通过设置切换到Robotik

ERROR_PAGE_THEME = 'robotik' # default is 'annanta'

您还可以设置颜色

ERROR_PAGE_THEME_COLOR = 'blue'

可用颜色

  • 蓝色

  • 绿色

  • 灰色(仅Robotik使用)

  • 灰色(仅Annanta使用)

  • 红色(仅Annanta使用)

  • 棕色(仅Annanta使用)

如果您使用Django CMS,您可以通过设置来显示根页面的链接

ERROR_PAGE_CMS_LINKS = True

以下更多配置选项…

Google Analytics(网站指标)

  1. 在您的设置文件中(通常是settings.py)将’sitemetrics’添加到INSTALLED_APPS

  2. 将‘{% load sitemetrics %}’标签添加到模板顶部(通常是基本模板,例如‘base.html’)

然后您有两种选择,可以在页面上添加指标客户端代码

  • 使用所谓的“四个参数”sitemetrics标签表示法

    {% sitemetrics by google for "UA-000000-0" %}

这里:“google”——提供者别名;“UA-000000-0”——keycode参数。这就是如何将Google Analytics客户端代码(带有“UA-000000-0”keycode)放入页面。

  • 使用所谓的“无参数”sitemetrics标签表示法

    {% sitemetrics %}

这就是如何将当前网站注册和激活的所有客户端代码放入页面。

客户端代码通过Django Admin网站接口与站点注册。需要“Admin site”和“Sites”从Django contrib来实现此选项。

只需运行一次“./manage.py syncdb”即可实现此选项(它将sitemetrics表安装到数据库)。

配置

ROBOTS_TEMPLATE

设置robots.txt处理程序的模板(默认为robots.txt)。示例

ROBOTS_TEMPLATE = 'myforlder/myrobotstemplate.txt'

ERROR_PAGE_THEME

设置错误页面的主题(默认为annanta或robotik)。示例

ERROR_PAGE_THEME = 'robotik'

ERROR_PAGE_THEME_COLOR

设置错误页面主题的颜色(默认为蓝色)。示例

ERROR_PAGE_THEME_COLOR = 'green'

ERROR_404_PAGE_TEMPLATE

404模板(默认为%s/404.html % ERROR_PAGE_THEME)。示例

ERROR_404_PAGE_TEMPLATE = 'myforlder/404.html'

ERROR_500_PAGE_TEMPLATE

500模板(默认为%s/500.html % ERROR_PAGE_THEME)。示例

ERROR_404_PAGE_TEMPLATE = 'myforlder/500.html'

ERROR_PAGE_LOGO_URL

如果您想在错误页面上显示您的徽标,请设置它(默认为None)。示例

ERROR_PAGE_LOGO_URL = '%simages/logo.png' % settings.STATIC_URL

ERROR_PAGE_SEARCH_ACTION

允许您在错误页面上设置搜索表单(默认为None)。

其他设置

  • ERROR_PAGE_SEARCH_METHOD(默认为‘GET’)

  • ERROR_PAGE_SEARCH_PARAM(默认为‘q’)

示例

ERROR_PAGE_SEARCH_ACTION = '/search/'
ERROR_PAGE_SEARCH_METHOD = 'POST'
ERROR_PAGE_SEARCH_PARAM = 'query'

运行测试

您可以通过以下方式运行测试

python setup.py test

python runtests.py

待办事项

  • 添加更多模板

  • 添加区域和翻译

  • 网站地图支持

致谢

项目详情


下载文件

下载适用于您平台的项目文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

django-site-basics-0.2.5.tar.gz (630.6 kB 查看散列值)

上传时间 源代码

构建分发

django_site_basics-0.2.5-py2.7.egg (752.9 kB 查看散列值)

上传时间 源代码

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面