这里是你的项目描述
meta-tagger的Python项目详细描述
这个包处理Django CMS项目的元标记。一些全球性的东西,比如页面作者和发布者可以 作为设置变量进行管理。其他内容存储在页面扩展中。如果你有自己的Django模特 甚至可以使用一个密钥库来获得元标记所需的所有内容。
要求
- Django>;=1.5
- django-cms>;=3.0
快速启动
安装meta标记:
pip install meta-tagger
加载此包的所有模板标记
{% load meta_tagger_tags %}
在settings.py
中配置已安装的应用程序INSTALLED_APPS = ( ..., 'meta_tagger', )
呈现标题标记的内容
<title>{% render_title_tag %}</title>
包括所有其他元标记:
{% include 'meta_tagger/meta_tags.html' %}
迁移数据库
$ ./manage.py migrate meta_tagger
将站点地图添加到您的项目url.py中
from meta_tagger.cms_sitemap import MetaTagRobotsSiteMap urlpatterns = [ ..., url(r'^sitemap\.xml/$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': {'cmspages': MetaTagRobotsSiteMap}}) ]
功能
- 用于robotsmeta标记和open graph图像的django cms页面扩展。
- 用于应用程序模型的MIXIN继承页面特定字段(如元标题、机器人等)
- 包含呈现所有元标记的模板。
H2>模型MIXIN < /H2>
这个包为你自己的Django应用程序提供了几种混合模式。使用 MetaTagTitleDescriptionMixin,OpenGraphMixin,RobotsMixin很简单,就像 任何其他混合蛋白。如果视图有一个名为object的上下文变量,这是基于类的 泛型DetailView,您不需要考虑任何事情。否则,只需将对象作为上下文传递给视图。
确保在创建迁移之前不要忘记实现转换设置。
您可能希望使用自己的模型字段之一作为元标题。通过重写相应的方法 (例如get_meta_title),很容易提供另一个值。
静态设置
要用值填充全局元标记,只需将以下行添加到settings.py
META_TAGGER_META_TAG_CONF = { 'META_AUTHOR': 'My author', 'META_PUBLISHER': 'My publisher', 'META_COPYRIGHT': '2016', 'META_COMPANY': 'My company', 'META_SITE_NAME': 'My site name', 'META_TYPE': 'website', } META_TAGGER_ROBOTS_DOMAIN_WHITELIST = ['www.example.com']
动态设置
如果您正在寻找管理管理文件(而不是设置文件)中的全局元标记的解决方案,则可以 看看constance包。安装非常简单:
pip install "django-constance[database]" pip install django-picklefield
在settings.py
中配置已安装的应用程序INSTALLED_APPS = ( ..., 'constance', 'constance.backends.database', ) CONSTANCE_BACKEND = 'constance.backends.database.DatabaseBackend' CONSTANCE_DATABASE_CACHE_BACKEND = 'default' CONSTANCE_ADDITIONAL_FIELDS = { 'short_text': ['django.forms.fields.CharField', {'widget': 'django.forms.fields.TextInput'}], } CONSTANCE_CONFIG = { 'META_AUTHOR': ('', '<meta name="author" content="{META_AUTHOR}">', 'short_text'), 'META_PUBLISHER': ('', '<meta name="publisher" content="{META_PUBLISHER}">', 'short_text'), 'META_COPYRIGHT': ('', '<meta name="copyright" content="{META_COPYRIGHT}">', 'short_text'), 'META_COMPANY': ('', '<meta name="company" content="{META_COMPANY}">', 'short_text'), 'META_SITE_NAME': ('', '<meta name="site-name" content="{META_SITE_NAME}">', 'short_text'), 'META_TYPE': ('website', '<meta property="og:type" content="{META_TYPE}">', 'short_text'), 'META_OG_IMAGE_WIDTH': (1200, '<meta property="og:image:width" content="{META_OG_IMAGE_WIDTH}">', int), 'META_OG_IMAGE_HEIGHT': (630, '<meta property="og:image:height" content="{META_OG_IMAGE_HEIGHT}">', int), } META_TAGGER_ROBOTS_DOMAIN_WHITELIST = ['www.example.com']
请参阅django constance的文档,以获得附加的安装支持(例如redis)
机器人索引
为了防止索引任何不需要的域,机器人元标签的内容默认为^ {TT13}$。全部 设置变量中列出的域使用模型实例或CMS页面的配置:
META_TAGGER_ROBOTS_DOMAIN_WHITELIST = ['www.example.com']
运行测试
source <YOURVIRTUALENV>/bin/activate (myenv) $ pip install -r requirements-test.txt (myenv) $ python runtests.py
历史记录
0.1.10(2019-07-02)
- 添加对django 2.1的支持
0.1.9(2019-06-20)
- 添加对Django CMS 3.6的支持
0.1.7(2018-11-08)
- 为robots.txt添加视图
- 引入不允许字段
- 添加一些德语翻译
0.1.6(2017-07-11)
- 添加默认索引< /LI>
0.1.5(2016-11-25)
- 修复没有CMS的设置。
0.1.5(2016-11-25)
- 修复没有CMS的设置。
0.1.4(2016-10-06)
- 包装块标记以允许模板覆盖
0.1.3(2016-08-25)
- 小错误修复
0.1.2(2016-06-22)
- 小错误修复
0.1.1(2016-05-30)
- 允许属性重写。
- 为打开的图形图像添加宽度和高度属性。 防止索引不需要的域。
- 第一个版本是pypi。