gpt4 book ai didi

Django flatpages 默认站点

转载 作者:行者123 更新时间:2023-12-04 06:27:16 24 4
gpt4 key购买 nike

大多数情况下,我为一个站点使用平面页面(来自站点框架)。如何为所有创建的平面页面标记现有站点默认值?
每次为创建的每个页面选择相同的站点都是浪费时间。有没有办法在模型或保存方法中覆盖它?

最佳答案

允许站点字段中的空白(models.py -> FlatPage.sites)并将其放入您的模型表单中(admin.py -> FlatPageForm)

def clean_sites(self):
sites = self.cleaned_data.get('sites')
print sites
return [Site.objects.get(id=settings.SITE_ID)]

编辑:
我想出了一个更好的解决方案。
这使得当前站点已经专注于多对多站点领域。编辑 flatpages/admin.py。地址: from django.contrib.sites.models import Site在文件的开头,将以下代码放入 class FlatPageAdmin :
    def formfield_for_manytomany(self, db_field, request=None, **kwargs):
if db_field.name == "sites":
kwargs["initial"] = [Site.objects.get_current()]
return super(FlatPageAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)

无需在 FlatPage 模型中的站点字段中允许空白

关于Django flatpages 默认站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4786784/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com