自定义列表模板和模型字段管理

在DEDE中,可根据用户需求自定义模型字段,操作方法:
1.进入DEDE管理界面,点击【核心】==》【频道模型】==》【内容页模型】==》【普通文章】==》【字段管理】
2.点击添加新字段,可自定义字段,并能够在文章创建页面出现新的字段录入框!
3.调用方式跟系统一样,直接底层模板调用即可,不过如果需要在列表页面能够调用,需要勾选【使字段可以在列表的底层模板中获得】!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>{dede:field.title/}-{dede:globle.cfg_webname/}</title>
<link href="/style/style.css" type="text/css" rel="stylesheet"/>
<link href="../../style/style.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div class="container">
<div class="clearfix wrap layout-cols2" >
<div id="news">
<div class="news_list">
{dede:list pagesize='2'}
<ul>
<li class="list_title">
<span>
[field:pubdate function="GetDateTimeMK(@me)"/]
</span>
<a href="[field:arcurl/]">[field:title/]</a>
</li>
<li class="text">
[field:description/]....<a href="[field:arcurl/]">阅读全文</a>
</li>
<li class="ot">
<span>
来源:[field:source/]
</span>
<span>
作者:[field:writer/]
</span>
<span>
点击:[field:click/]
</span>
<span>

[field:lxr runphp='yes']
if(@me == ""){
@me = "没有联系方式";
}
else{
@me = "联系人:<a href='tencent://message/?uin=315289006&Site=测试QQ&Menu=yes' target='_blank' >@me</a>";
}
[/field:lxr]

</span>
</ul>
{/dede:list}
</div>
<div class="pages">
<ul>{dede:pagelist listitem="info,index,end,pre,next,pageno" listsize='5'/}</ul>
</div>
</div>
</div>
</div>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Wagtail 的自定义后台页面上面添加可勾选字段选项,可以按照以下步骤进行操作: 1. 在你的 app 中创建一个 `models.py` 文件,并定义一个继承自 `Page` 的模型类,例如: ```python from django.db import models from wagtail.core.models import Page class MyPage(Page): my_field = models.BooleanField(default=False) ``` 在这个模型类中,我们添加了一个名为 `my_field` 的布尔类型 (BooleanField) 字段。 2. 接下来,在你的 app 中创建一个 `wagtail_hooks.py` 文件,并在其中编写一个继承自 `PageRoutableMixin` 的钩子类,例如: ```python from wagtail.contrib.modeladmin.options import modeladmin_register from wagtail.contrib.modeladmin.mixins import PageRoutableMixin from wagtail.core import hooks class MyPageAdmin(PageRoutableMixin, hooks.ModelAdmin): model = MyPage list_display = ('title', 'my_field') list_filter = ('my_field',) modeladmin_register(MyPageAdmin) @MyPageAdmin.route(r'^my-custom-view/$', name='my_custom_view') def my_custom_view(request): # 在这里添加你想要展示的自定义页面内容 return render(request, 'my_custom_template.html') ``` 在这个钩子类中,我们定义了一个名为 `MyPageAdmin` 的模型管理器 (ModelAdmin),并在其中注册了我们之前定义的 `MyPage` 模型类。我们还添加了一些用于模型管理器的配置选项,例如 `list_display` 和 `list_filter`。最后,我们在钩子类中定义了一个自定义视图 `my_custom_view` 并为它指定了一个 URL 路由。 3. 接下来,在你的 app 中创建一个名为 `my_custom_template.html` 的模板文件,并在其中编写你想要展示的自定义页面内容。 4. 最后,在 Wagtail 的后台管理页面中,打开 `Settings -> Snippets` 页面,并创建一个名为 `MyPageFields` 的新的 Snippet,例如: ```python from django.db import models class MyPageFields(models.Model): my_field = models.BooleanField(default=False) panels = [ FieldPanel('my_field'), ] class Meta: abstract = True ``` 在这个 Snippet 中,我们定义了一个名为 `my_field` 的布尔类型 (BooleanField) 字段,并将它添加到了一个名为 `panels` 的列表中。这个列表中的内容将用于在我们之后创建的自定义页面中显示可勾选字段选项。 5. 最后,在你的 app 中创建一个名为 `my_page_fields.py` 的文件,并在其中编写一个继承自 `MyPageFields` 的类,例如: ```python from wagtail.snippets.models import register_snippet from .models import MyPageFields @register_snippet class MyPageFieldsSnippet(MyPageFields): pass ``` 在这个类中,我们注册了之前创建的 `MyPageFields` Snippet,并创建了一个新的 `MyPageFieldsSnippet` 类来使用它。 完成以上步骤后,你就可以在 Wagtail 的自定义页面中展示可勾选字段选项了。在页面编辑界面中,你会发现一个名为 `My Page Fields` 的选项卡,里面包含了一个可勾选的 `my_field` 字段。在你的自定义页面中,你可以通过访问 `request.site.root_page.my_custom_view()` URL 来展示你之前创建的自定义页面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值