django robots.txt生成器

django2-url-robots的Python项目详细描述


Dimka665的叉子https://github.com/dimka665/django-url-robots

Djangorobots.txt生成器。基于使用修饰的django.conf.urls.url。 它得到urlpatterns,并用*替换不明确的部分。

安装和使用

安装django2 url robots的推荐方法是使用pip

  1. 使用easy_installpip从pypi安装:

    pip install django2-url-robots
    
  2. 'django2_url_robots'添加到INSTALLED_APPS

    INSTALLED_APPS = (
        ...
        'django2_url_robots',
        ...
        )
    
  3. 将django2_url_robots视图添加到根urlconf:

    urlpatterns += [
        url(r'^robots\.txt$', django2_url_robots.views.robots_txt),
        ]
    
  4. 用布尔关键字参数robots_allow描述规则,用它django2_url_robots.utils.url代替django.conf.urls.url

    from django2_url_robots.utils import url
    
    urlpatterns += [
       url('^profile/private$', views.some_view, robots_allow=False),
       ]
    

django2-url-robotsDjango-2.0.5+测试。按百分比编码Unicode字符。

设置

此时,只有一个选项可以定义robots.txt文件的模板:

urlpatterns += [
    url(r'^robots\.txt$', django2_url_robots.views.robots_txt, {'template': 'my_awesome_robots_template.txt'}),
    ]

示例

robots_template.txt:

User-agent: *
Disallow: /*  # disallow all
{{ rules|safe }}

网址.py:

from django.conf.urls import include

urlpatterns = [
    url(r'^profile', include('django2_url_robots.tests.urls_profile')),
]

url_profile.py:

from django2_url_robots.utils import url

urlpatterns = [
    url(r'^s$', views.some_view, name='profiles', robots_allow=True),
    url(r'^/(?P<nick>\w+)$', views.some_view),
    url(r'^/(?P<nick>\w+)/private', views.some_view, name='profile_private', robots_allow=False),
    url(r'^/(?P<nick>\w+)/public', views.some_view, name='profile_public', robots_allow=True),
    ]

结果robots.txt:

User-agent: *
Disallow: /*  # disallow all
Allow: /profiles$
Disallow: /profile/*/private*
Allow: /profile/*/public*

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java静态键入和编写一个简单的矩阵库   java如何最小化层次结构的代码量   这是在Google云数据存储中使用Java按键查询的正确方法吗?   java Android php+mysql+json执行异步任务时出错   java Hadoop Hbase访问被拒绝异常   java如何在json中指定特定的对象路径   JavaSpringJPA/Hibernate在使用@modify和@Query进行特殊更新之前调用完整更新   java多个错误通知   java插入Linkedlist和Node   java将图像放在webview中并调整其宽度   Java没有真实属性的缺点是什么?   java“isGooglePlayServicesAvailable”(此)已被弃用   java托管HIPPO CMS   安卓 Java。网URI构造函数不是编码字符(&C)   java如何用hibernate映射Deque?   java传递枚举类型作为参数   java自由堆大小在Maven中不会增加   java如何使用hashmap和arraylist的循环逻辑?   java如何使用JDBC复制MySql数据库