Python 如何设置模板变量<;标题>;在Django?

Python 如何设置模板变量<;标题>;在Django?,python,mysql,django,django-templates,django-views,Python,Mysql,Django,Django Templates,Django Views,我是Django的新手,试图建立我的第一个个人CMS网站。如果这是显而易见的,请道歉。我正在从PHP过渡,所以有时会有点混乱 我想设置网站“Dashboard | MCA Portal”的标题。sitename来自MySQL数据库 MySQL查询: select value from options where `param`='sitename' 知道怎么做吗 谢谢 Kiran您可以通过两种方式将标题值传递给HTML模板: 1) 重写View get_上下文方法,在该方法中,您可以从数据库中

我是Django的新手,试图建立我的第一个个人CMS网站。如果这是显而易见的,请道歉。我正在从
PHP
过渡,所以有时会有点混乱

我想设置网站“Dashboard | MCA Portal”的标题。sitename来自MySQL数据库 MySQL查询:

select value from options where `param`='sitename'
知道怎么做吗

谢谢
Kiran

您可以通过两种方式将标题值传递给HTML模板:

1) 重写View get_上下文方法,在该方法中,您可以从数据库中查询值并像我的示例(python 3.6)一样传递:

2) 1方法的缺点-您应该在每个视图中手动实现查询,或者实现BaseView并继承项目中的所有其他视图。您还可以实现上下文处理器,请参见下面的示例:

# file <project_root>/<app_dir>/context_processor.py
def app_context(request):
  # query from database
  title = ...  # query from database here
  return dict(site_title=title)

......................
# file <settings_dir>/settings.py
TEMPLATES = [
{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': {
        os.path.join(BASE_DIR, 'templates')
    },
    'APP_DIRS': True,
    'OPTIONS': {
        'context_processors': [
            'django.template.context_processors.debug',
            'django.template.context_processors.request',
            'django.contrib.auth.context_processors.auth',
            'django.contrib.messages.context_processors.messages',
            '<app_package>/context_processor.app_context'
        ],
    },
},
#file/

x=options.objects.get(param='sitename')x.value获取此值并发送到模板在询问类似的基本问题之前,您需要执行以下操作。您将定义一个模型,在视图中查询该模型,并将数据发送到模板-所有这些都在该教程中介绍。
# file <project_root>/<app_dir>/context_processor.py
def app_context(request):
  # query from database
  title = ...  # query from database here
  return dict(site_title=title)

......................
# file <settings_dir>/settings.py
TEMPLATES = [
{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': {
        os.path.join(BASE_DIR, 'templates')
    },
    'APP_DIRS': True,
    'OPTIONS': {
        'context_processors': [
            'django.template.context_processors.debug',
            'django.template.context_processors.request',
            'django.contrib.auth.context_processors.auth',
            'django.contrib.messages.context_processors.messages',
            '<app_package>/context_processor.app_context'
        ],
    },
},