首页 > 解决方案 > 仅将视图添加到 Django 以进行测试(不在生产​​中)

问题描述

我想测试我的会话处理。我为此写了一个视图和一个测试,一切都很好。

但我不喜欢这个 URL 也可以在生产系统中访问的事实。

有没有一种简单的方法可以使视图仅在测试期间可用。在生产系统中,这个 URL 不应该被 url-resolver 知道。

如果将 url 添加到 urlpatterns 的代码将存在于测试代码中,而不是生产代码中,那就太酷了。我希望生产代码干净。

标签: django

解决方案


一种常见的模式是在 urls.py 中检查 DEBUG

from django.conf import settings


if settings.DEBUG:
    from django.conf.urls.static import static
    from django.contrib.staticfiles.urls import staticfiles_urlpatterns

    # Serve static and media files from development server
    urlpatterns += staticfiles_urlpatterns()
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

推荐阅读