我有一个 Web 应用程序,其中有一个单独工作的项目(它是索引、登录 .. 页面)。
如果安装了新应用程序,我需要更改索引页面(例如:添加链接、模板中包含我的应用程序模型的表格......)。让它充满活力。
删除应用程序必须让项目完好无损,只需删除链接即可。
我怎样才能做到这一点?是否可以?
我有一个 Web 应用程序,其中有一个单独工作的项目(它是索引、登录 .. 页面)。
如果安装了新应用程序,我需要更改索引页面(例如:添加链接、模板中包含我的应用程序模型的表格......)。让它充满活力。
删除应用程序必须让项目完好无损,只需删除链接即可。
我怎样才能做到这一点?是否可以?
def my_view(request):
from django.conf import settings
app_installed = 'app_name' in settings.INSTALLED_APPS
return render_to_response(template_name, {'app_installed': app_installed})
模板:
{% if app_installed %}
...
{% endif %}
或者使用自定义上下文处理器。
在installed_apps.py
from django.conf import settings
def installed_apps(request):
return {
'app_installed' : 'app_name' in settings.INSTALLED_APPS
}
在settings.py
:
TEMPLATE_CONTEXT_PROCESSORS = (
...
'installed_apps.installed_apps'
)
simple_tag
版本:
棘手的部分是,当它在条件中使用时,您不能将参数传递给您。simple_tag
因此,您可以使用as is_myapp_installed
.
在templatetags/my_filters.py
:
from django import template
register = template.Library()
@register.simple_tag
def is_app_installed(app):
from django.apps import apps
return apps.is_installed(app)
在模板中:
{% load my_filters %}
...
{% is_app_installed "myapp" as is_myapp_installed %}
{% if is_myapp_installed %}
...
{% endif %}