前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django实战篇-论坛模板引擎

Django实战篇-论坛模板引擎

作者头像
小团子
发布2019-07-18 15:44:32
6840
发布2019-07-18 15:44:32
举报
文章被收录于专栏:数据云团数据云团

① 视图、模板和静态文件 —— 模板引擎设置

  • HTML 特殊标签

Django基础篇-模板标签

代码语言:javascript
复制
{% for ... in ... %} {% endfor %}

{% if ... %} {% else %} {% endif %}

{{ variable }}
  • settings.py 文件,TEMPLATE
代码语言:javascript
复制
'DIRS': [os.path.join(BASE_DIR, 'templates')]
  • 静态文件设置 settings.py
代码语言:javascript
复制
STATIC_URL = '/static/'

STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
  • 在模板的开头使用了 Static Files App 模板标签
代码语言:javascript
复制
{% load static %}

# 用于构成资源文件完整 URL
{% static %} 

② Django 需要一个 url.py 作为入口,根路由配置

  • 在 settings.py 文件
  • 使用 URLs API,urls.py
代码语言:javascript
复制
from django.conf.urls import url
from django.urls import path

urlpatterns = []

在之前完成的论坛主页、话题和回帖的视图,可以将每个配置在路由中。

代码语言:javascript
复制
urlpatterns = [
    path("home/", views.BoardListView.as_view(), name="home"),
    path("topic/<pk>/", views.TopicListView.as_view(), name="topics"),
    path("topic/<pk>/new/", views.new_topic, name="new_topic"),
    path("posts/<pk>/new/<topic_pk>/", views.PostListView.as_view(), name="new_posts"),
    path("posts/<pk>/topic/<topic_pk>/reply/", views.reply_topic, name="reply_topic"),
    path("posts/<pk>/topic/<topic_pk>/new/<post_pk>/edit/", views.PostUpdateView.as_view(), name="edit_post"),
]

③ 前端 form 表单,创建话题、回复帖子和修改帖子的复用模板

代码语言:javascript
复制
# 模板过滤器
{% load form_tags widget_tweaks %}
{% if form.non_field_errors %}
    <div class="alert alert-danger" role="alert">
        {% for error in form.non_field_errors %}
            <p{% if forloop.last %} class="mb-0"{% endif %}>{{ error }}</p>
        {% endfor %}
    </div>
{% endif %}
{% for field in form %}
    <div class="form-group">
        {{ field.label_tag }}
        {% render_field field class=field|input_class %}
        {% for error in field.errors %}
            <div class="invalid-feedback">
                {{ error }}
            </div>
        {% endfor %}
        {% if field.help_text %}
            <small class="form-text text-muted">
                {{ field.help_text|safe }}
            </small>
        {% endif %}
    </div>
{% endfor %}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据云团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档