iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 19
0
Modern Web

🍐放學後的網頁開發系列 第 19

[Day19] 柚子放學後的網頁生活 - Django Template tags ( If )

今天想跟大家分享個小撇步
還記得admin頁,在Photos內要點進去才能看到相關資料

設定admin把 id, tilte show 出來

class PhotoAdmin(admin.ModelAdmin):
    list_display = ('id','title')

admin.site.register(Photo, PhotoAdmin)

在回來看看 localhost:8000/admin/classes/photo/

以後不用點進去,也可以知道這是哪個 object~~

那我們來試試新增一筆data

上網隨便抓個圖試試,在回到網頁上看

Log in / out

還記得我們上次講的 Template tag,也用過 For 嗎

使用時機

  • 邏輯判斷 - if / else
    • if login 成功 => Display data
    • else => Display login button
  • 重複的 code - for loop
    • 列出相同資訊 / 片段
  • 格式化 Template 的變數
    • 日期格式化

現在要設計兩個情況切換,我們用 if / else:

  • ( if ) 已登入 --> ( Display ) user name、logout button
  • ( else ) 未登入 --> ( Display ) login button、Register button

這邊用Django內建判斷方式 {% if user.is_authenticated %},可以判斷現在是否登入

{% if user.is_authenticated %}
<ul class="nav navbar navbar-right">
    <li><a class="auth" href="#">{{user.username}}</a></li>
    <li><a class="auth" href="/post">Post</a></li>
    <li><a class="auth" href="/logout">LogOut</a></li>
</ul>
{% else %}
<form class="form-inline my-2 my-lg-0">
    <input class="form-control mr-sm-2" type="text" placeholder="Email" >
    <input class="form-control mr-sm-2" type="password" placeholder="Password" >
    <button class="btn btn-success" type="submit">Sign in</button>&nbsp
    <a href="/signup.html"><button class="btn btn-primary" type="button">Register</button></a>
</form>
{% endif %}

# 跟 for 一樣注意,有始有終 - endif

右上方就會顯示你登入囉~ 因為我們現在的狀態是登入
那現在去admin logout 再回來

沒錯,回到原本的樣子了,但要怎麼從網站登出呢

( 敬請期待後面 Log in / out、Cookie / Session )

下課囉 ~ 請鎖定 柚子放學後的網頁生活


上一篇
[Day18] 柚子放學後的網頁生活 - Django Template tags ( For )
下一篇
[Day20] 柚子放學後的網頁生活 - Cookie / Session
系列文
🍐放學後的網頁開發30

尚未有邦友留言

立即登入留言