Django - 常用插件

Django 的常用插件


  1. 安装 django-debug-toolbar

    1
    python -m pip install django-debug-toolbar
  2. 配置 django-debug-toolbar

    在 settings.py 中的 INSTALLED_APPS 里添加以下代码,注意:应用不能重复注册

    1
    2
    3
    4
    5
    6
    7
    8
    INSTALLED_APPS = [
    # ...
    'django.contrib.staticfiles', # 如果已经注册了这个,则不需再次注册
    # ...
    'debug_toolbar',
    ]

    STATIC_URL = '/static/'
  3. 设置 URLconf

    在项目的 urls.py 文件中添加以下代码

    1
    2
    3
    4
    5
    6
    7
    8
    import debug_toolbar
    from django.conf import settings
    from django.urls import include, path

    if settings.DEBUG:
    urlpatterns = [
    path('__debug__/', include(debug_toolbar.urls)),
    ] + urlpatterns
  4. 启用中间件

    在 settings.py 中的 MIDDLEWARE 里添加以下代码

    1
    2
    3
    4
    5
    MIDDLEWARE = [
    # ...
    'debug_toolbar.middleware.DebugToolbarMiddleware',
    # ...
    ]
  5. 配置内部 IP

    在 settings.py 中的加入以下代码

    1
    2
    3
    4
    5
    INTERNAL_IPS = [
    # ...
    '127.0.0.1',
    # ...
    ]

    至此所有配置结束,可以去项目的后台看一下效果!

  1. 安装

    1
    pip install django-simpleui
  2. 配置:settings.py 文件中 INSTALLED_APPS 的第一行加入 simpleui

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    INSTALLED_APPS = [
    'simpleui',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    ...
    ]

    至此所有配置结束,可以去项目的后台看一下效果!

Django模块化搜索Haystack架构

  1. 安装

    1
    pip install django-haystack
  2. 配置:在 settings.py 文件中的 INSTALLED_APPS 里添加 haystack

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',

    # Added.
    'haystack',

    # Then your usual apps...
    'blog',
    ]
  3. 配置搜索引擎:在 settings.py 文件中添加以下代码

    1
    2
    3
    4
    5
    6
    7
    import os
    HAYSTACK_CONNECTIONS = {
    'default': {
    'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine',
    'PATH': os.path.join(os.path.dirname(__file__), 'whoosh_index'),
    },
    }
  4. 创建 SearchIndexes来指定 model 的索引策略

    每一个 model 创建一个 SearchIndex:indexes.SearchIndex, indexes.Indexable

  5. 设置搜索页面的 View 和 URL

    在您的 URLconf 中,添加以下行:

    1
    url(r'^search/', include('haystack.urls')),
  6. 创建索引,通常设置定时任务来创建全量索引,动态索引

    • ./ manage.py rebuild_index:全量索引
    • ./ manage.py update_index:增量索引