如何在djangoCMS中使用模型(DB)数据而不创建视图?

如何在djangoCMS中使用模型(DB)数据而不创建视图?,django,django-models,django-cms,Django,Django Models,Django Cms,我想我的问题很清楚: 我感兴趣的是找到一些不用创建视图就使用模型(DB)数据的方法 我已经用djangocms创建了一个网站,现在我想开发一个小博客 我知道,但这并不像我需要的那样直截了当(就我的目的而言,这相当复杂) 例如,首先,我想知道是否有可能创建一个基本模板,在该模板中我可以直接从数据库显示用户(他们的姓名)。在Django中,如果没有将数据放在那里的视图,基本上无法将数据从模型获取到模板。这就是全部观点 您不必创建views.py文件,因为您可能还可以使用其他机制,例如django C

我想我的问题很清楚:

我感兴趣的是找到一些不用创建视图就使用模型(DB)数据的方法

我已经用djangocms创建了一个网站,现在我想开发一个小博客

我知道,但这并不像我需要的那样直截了当(就我的目的而言,这相当复杂)

例如,首先,我想知道是否有可能创建一个基本模板,在该模板中我可以直接从数据库显示用户(他们的姓名)。

在Django中,如果没有将数据放在那里的视图,基本上无法将数据从模型获取到模板。这就是全部观点

您不必创建
views.py
文件,因为您可能还可以使用其他机制,例如django CMS的插件系统

我不明白你的问题与开发博客有什么联系。

在Django中,如果没有将数据放在模型中的视图,你基本上无法将数据从模型中获取到模板中。这就是全部观点

您不必创建
views.py
文件,因为您可能还可以使用其他机制,例如django CMS的插件系统

我不明白你的问题与开发博客有什么联系。

在Django中,如果没有将数据放在模型中的视图,你基本上无法将数据从模型中获取到模板中。这就是全部观点

您不必创建
views.py
文件,因为您可能还可以使用其他机制,例如django CMS的插件系统

我不明白你的问题与开发博客有什么联系。

在Django中,如果没有将数据放在模型中的视图,你基本上无法将数据从模型中获取到模板中。这就是全部观点

您不必创建
views.py
文件,因为您可能还可以使用其他机制,例如django CMS的插件系统


我不明白你的问题与开发博客有什么联系。

你能做的就是创建一个基本上是返回字典的函数&它被添加到每个请求上下文中

例如,我有一个模型,它为整个网站提供信息,如社交链接、名称等

from django.contrib.sites.models import get_current_site

from .models import SiteSettings


def site_settings(request):
    current_site = get_current_site(request)

    try:
        settings = SiteSettings.objects.get(site_id=current_site.id)

    except SiteSettings.MultipleObjectsReturned:
        settings = SiteSettings.objects.filter(
            site_id=current_site.id
        ).order_by('id')[0]

    except SiteSettings.DoesNotExist:
        return {
            'SITE_SITE_NAME': None,
            'SITE_SHORT_NAME': None,
        }

    # SiteSettings object exists, so assign the attributes you want, to context 
    # variables returned by the context processor for all views.
    data = {
        'SITE_SITE_NAME': settings.site_name,
        'SITE_SHORT_NAME': settings.short_name,
    }

    return data

因此,通过这样做,您可以在任何模板中使用
{{SITE\u SHORT\u NAME}}
,这显然使表中的任何信息都可以通过这些处理器之一获得。在对模型执行此操作时,只需确保创建必要的
DoesNotExist
异常。

您可以创建一个基本上是返回字典的函数,它将添加到每个请求上下文中

例如,我有一个模型,它为整个网站提供信息,如社交链接、名称等

from django.contrib.sites.models import get_current_site

from .models import SiteSettings


def site_settings(request):
    current_site = get_current_site(request)

    try:
        settings = SiteSettings.objects.get(site_id=current_site.id)

    except SiteSettings.MultipleObjectsReturned:
        settings = SiteSettings.objects.filter(
            site_id=current_site.id
        ).order_by('id')[0]

    except SiteSettings.DoesNotExist:
        return {
            'SITE_SITE_NAME': None,
            'SITE_SHORT_NAME': None,
        }

    # SiteSettings object exists, so assign the attributes you want, to context 
    # variables returned by the context processor for all views.
    data = {
        'SITE_SITE_NAME': settings.site_name,
        'SITE_SHORT_NAME': settings.short_name,
    }

    return data

因此,通过这样做,您可以在任何模板中使用
{{SITE\u SHORT\u NAME}}
,这显然使表中的任何信息都可以通过这些处理器之一获得。在对模型执行此操作时,只需确保创建必要的
DoesNotExist
异常。

您可以创建一个基本上是返回字典的函数,它将添加到每个请求上下文中

例如,我有一个模型,它为整个网站提供信息,如社交链接、名称等

from django.contrib.sites.models import get_current_site

from .models import SiteSettings


def site_settings(request):
    current_site = get_current_site(request)

    try:
        settings = SiteSettings.objects.get(site_id=current_site.id)

    except SiteSettings.MultipleObjectsReturned:
        settings = SiteSettings.objects.filter(
            site_id=current_site.id
        ).order_by('id')[0]

    except SiteSettings.DoesNotExist:
        return {
            'SITE_SITE_NAME': None,
            'SITE_SHORT_NAME': None,
        }

    # SiteSettings object exists, so assign the attributes you want, to context 
    # variables returned by the context processor for all views.
    data = {
        'SITE_SITE_NAME': settings.site_name,
        'SITE_SHORT_NAME': settings.short_name,
    }

    return data

因此,通过这样做,您可以在任何模板中使用
{{SITE\u SHORT\u NAME}}
,这显然使表中的任何信息都可以通过这些处理器之一获得。在对模型执行此操作时,只需确保创建必要的
DoesNotExist
异常。

您可以创建一个基本上是返回字典的函数,它将添加到每个请求上下文中

例如,我有一个模型,它为整个网站提供信息,如社交链接、名称等

from django.contrib.sites.models import get_current_site

from .models import SiteSettings


def site_settings(request):
    current_site = get_current_site(request)

    try:
        settings = SiteSettings.objects.get(site_id=current_site.id)

    except SiteSettings.MultipleObjectsReturned:
        settings = SiteSettings.objects.filter(
            site_id=current_site.id
        ).order_by('id')[0]

    except SiteSettings.DoesNotExist:
        return {
            'SITE_SITE_NAME': None,
            'SITE_SHORT_NAME': None,
        }

    # SiteSettings object exists, so assign the attributes you want, to context 
    # variables returned by the context processor for all views.
    data = {
        'SITE_SITE_NAME': settings.site_name,
        'SITE_SHORT_NAME': settings.short_name,
    }

    return data


因此,通过这样做,您可以在任何模板中使用
{{SITE\u SHORT\u NAME}}
,这显然使表中的任何信息都可以通过这些处理器之一获得。对模型执行此操作时,请确保创建必要的
DoesNotExist
异常。

这实际上是一个好问题。我还想看到一个很好的答案这其实是一个很好的问题。我还想看到一个很好的答案这其实是一个很好的问题。我还想看到一个很好的答案这其实是一个很好的问题。我也想看到一个很好的答案,你能改进你的答案,让它显示我如何使用django CMS插件直接从数据库显示用户吗?或者至少推荐一些插件。你能改进你的答案,让它显示我如何使用django CMS插件直接从数据库显示用户吗?或者至少推荐一些插件。你能改进你的答案,让它显示我如何使用django CMS插件直接从数据库显示用户吗?或者至少推荐一些插件。你能改进你的答案,让它显示我如何使用django CMS插件直接从数据库显示用户吗?或者至少推荐一些插件。谢谢。但我有一个问题:“这能让我避免使用视图吗?”。你能在你的代码旁边加上一些注释吗?感谢@marksweb'避免使用视图'听起来有点混乱。您希望在何处使用此数据?我认为您的意思是希望数据可用,而不是在视图中专门创建数据。您是对的。这就是我的意思。此外,您对<代码>有何看法