Django 笔记之 Flatpages 静态页面

通过后台接口管理静态页面,不想单独写一个app。

安装

app:
django.contrib.sites
django.contrib.flatpages

url:
urlpatterns = [path('pages/', include('django.contrib.flatpages.urls')),]

中间件:
django.contrib.flatpages.middleware.FlatpageFallbackMiddleware

运行:
manage.py migrate

创建了  django_flatpage/django_flatpage_sites 两张表

配置

url 配置一般配置

urlpatterns += [
    path('about-us/', views.flatpage, {'url': '/about-us/'}, name='about'),
    path('license/', views.flatpage, {'url': '/license/'}, name='license'),]

之前写单页模板也要写视图,这样就不用了

增删改

通过 admin
通过 Python API

静态页面模板

在templates 文件夹下,创建 flatpages/default.html

<!DOCTYPE html><html><head><title>{{ flatpage.title }}</title></head><body>{{ flatpage.content }}</body></html>

这个模板只有一个上下文 flatpage. {{ flatpage.title }} 和 {{ flatpage.content }} 可以直接在后台写入原生html

获取所有的静态页面对象

{% load flatpages %}
{% get_flatpages as flatpages %}
<ul>
    {% for page in flatpages %}
        <li><a href="{{ page.url }}">{{ page.title }}</a></li>
    {% endfor %}
</ul>

只给注册用户显示
{% get_flatpages for someuser as about_pages %}

根据 url 获取
{% get_flatpages '/about/' as about_pages %}
{% get_flatpages '/about/' for someuser as about_pages %}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值