django - 仅将视图添加到 Django 以进行测试(不在生产中)
问题描述
我想测试我的会话处理。我为此写了一个视图和一个测试,一切都很好。
但我不喜欢这个 URL 也可以在生产系统中访问的事实。
有没有一种简单的方法可以使视图仅在测试期间可用。在生产系统中,这个 URL 不应该被 url-resolver 知道。
如果将 url 添加到 urlpatterns 的代码将存在于测试代码中,而不是生产代码中,那就太酷了。我希望生产代码干净。
解决方案
一种常见的模式是在 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)