伶盜龍 Velociraptor,
另一個中文名稱又稱為迅猛龍,
不管在侏儸紀公園還是侏儸紀世界,
都有其身影存在。
伶盜龍 Velociraptor,
另一個中文名稱又稱為迅猛龍,
不管在侏儸紀公園還是侏儸紀世界,
都有其身影存在。
在 Django 中預設有 User Model ,
內建有幾個基本的欄位
若是這些欄位都不符合使用需求時,
就需要自訂 USER Model,
這就是今天要來教大家的
自訂 USER Model 有幾個方法,
最簡單的是直接以一對一關係新增相關的欄位,
直接以程式碼做為範例:
from django.contrib.auth.models import User
from django.db import models
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, verbose_name='帳號名稱')
real_name = models.CharField(max_length=30, blank=True, verbose_name='真實姓名')
首先必須先到 models.py
從 django.contrib.auth.models 匯入 User
透過一對一關係
models.OneToOneField
將 USER Model 的欄位做個延伸,
底下再加入要新增的相關欄位即可,
在此範例中將真實姓名加入 UserProfile 中,
其他也可以加上手機號碼,公司電話等等相關欄位。
特別要注意的是,
在與 USER 欄位關聯時,必須加上
on_delete=models.CASCADE
在刪除 USER Model 的時候相對應的 UserProfile 才會跟著刪除,
避免不必要的錯誤發生。
使用上也很簡單,
def my_profile(request):
target_item = UserProfile.objects.get(user=request.user)
先取得目前登入使用者的 profile,
就能直接使用新增的欄位 real_name
target_item.real_name
若網站已經上線一段時間,
原有的 USER Model 已經有許多資料,
為了新增額外的欄位以此種方式最為適合與簡單,
既不影響原有的資料,
又能根據需求新增相關欄位。
另一個方法則是使用 AbstractBaseUser / AbstractUser 直接自訂 USER Model 欄位,
相對地使用上較為複雜,
就不再此入門的範疇探討,
有機會再介紹此種方法。
網路已成為目前生活上不可或缺的一部分,
每個在網路的電腦都有屬於自己的 IP,
這組 IP 由四個數字組成,
而這就是今天的重點,
CIDR 標記法
是由字首與一個0~32的數字組成,
例如: 192.168.1.0 / 24
24 表示字首為24位元,
同時也是子網路遮罩的1的位元數量。
這樣的分配法使得 IP 可分配最小主機數量為 1(2的0次方) ,2,4......
除了一般的分配 IP 以外,
最廣泛的用途在於防火牆設定,
如之前提到過 GCP 防火牆設定的 IP 範圍,
就是以 CIDR 標記法來實行。
以 IP 140.134.130.99 為範例,
如果將來源 IP 範圍設定為140.134.130.99 / 32 ,
就表示僅有此台 IP 能夠通過防火牆。
( 將來源 IP 與 網路遮罩做 AND 運算,若符合設定的字首防火牆就放行 )
經過數個年頭,
賽季循環已成為例行公事,
雖說如此,
還是必須想些變化避免無趣,
既然是當季的活動,
一進入遊戲就是要打下廣告吸引玩家轉生,
其他物品的更新與修正,
請參照官方更新檔說明
第三方登入又稱 social authentication ,
簡單明瞭一些的就是使用社群帳號來登入網站,
可以少記一組帳號密碼,
Open edX 當然也支援此種方式登入:
之前也提到過使用 Facebook 的第三方登入,
其實作法大同小異,
主要的不同點主要在 Google 端的申請,
在憑證部分新增一個 OAuth 用戶端 ID,
填好或選取各項資料:
Google Cloud Platform 提供了許多服務,
Compute Engine 也是其中的一種,
透過 VM 執行個體可建立各種不同的系統,
透過 Chrome 新開視窗以 ssh 登入有可能出現錯誤,
不知道是否為 Google 漏掉設定該項的緣故,
連續開兩台 VM 都在安裝軟體後重新連線時出現此問題,
儲存後重啟 VM 即可使用 Chrome 新開視窗以 SSH 登入
之前介紹過了秘術師的
堤豐罩衣
不死鳥的華服
塔拉夏的法理套裝
德瑟雷的至高傑作套裝實測
最後的套裝當然也不能錯過:
作為法系職業的秘術師,
變身御法者後,
渾身黑漆漆的充滿神秘感,
今天就來實測維爾的神妙奧秘這套專屬御法者的套裝。
最後再以阿鈕的項鍊再度增傷最高 100 %,
並使用團結戒指讓秘術師不要太容易就躺地上休息。
鑲嵌寶石的選用部分,
除了選擇非物理減傷的奧幻之石與近戰減傷的毀傷之禦之外,
挑選迅捷勾玉提高攻速與閃躲機率外,
每堆疊一層迅捷還能減少冷卻時間 1 %。
最後附上大秘境 80 層的實測畫面:
全境封鎖是一款第三人稱射擊角色扮演遊戲,
玩家扮演國土安全局的特工,
進行各式各樣的任務,
除了主線劇情以外,
其他還有許多不同的支線任務,
也有時間限定的遠征任務,
今天的主題就是遠征之一:
肯利地鐵站主要有三個任務,
調查已部署的土製炸藥、調查已部署的軍用伺服器以及調查化學儲存槽等。
肯利地鐵站這個任務主要會卡關的地點在於釋放水壓部分,
其餘只需要注意在時間內完成任務即可,
最後就以精華篇影片做為結束。
第三方登入帶來的對使用者的便利,
也能夠讓使用者直接以目前現有的帳號登入,
不需要再多記一組帳號密碼,
今天就以 Google 作為例子教大家如何申請:
首先要到 Google API Console ,
在左方工具列的憑證中選擇建立憑證,
找到 OAuth 用戶端ID,
若發生上述情形,
應用程式就必須經過驗證,
系統會詢問應用的資源類型,
Django 後台提供了方便的管理介面,
方便使用者管理 model
USER model 預設就已經設定好,
當然也能夠客製化希望顯示的介面,
這就今天的主題所在:
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
在不同的平台上,
文件的換行字元各有不同,
CRLF - > Windows
LF - > Unix / Linux
CR - > Mac
若始終在同個平台上設計開發的話,
使用何種格式都無妨,
若在不同平台上開發最好能夠統一格式,
避免不可預期的問題發生或者產生混淆。
以 Git 為範例,
使用 CRLF 與 LF 就會判別文件有相異處,
這在軟體開發與版本控制中不是什麼嚴重的問題,
但卻會讓人誤以為程式有修改變更。
解決方法很簡單,
執行:
$ git config --global core.autocrlf true
即可。
core.autocrlf 可以三個數值,
true, inout, false
使用 true 的話,
git 會自動將 CRLF 文件轉換為 LF。
若是使用如 Pycharm 之類的 IDE 軟體,
可從上方工具列的 File - > Settings 中
找到 Code Style 頁面,
在 General 分頁中,
找到 Line Separator 並將其設定為
Unix and macOS ( \ n )
這樣一來,
在協同開發中,
由於換行符號造成的差異與誤解就得到解決。
之前介紹了 Google Analytics 4 的安裝流程,
當然僅使用預設功能已經足以應付大多數的使用情境,
若是需要更進一步的分析,
就必須透過今天的主題來達成了:
簡單的講其實就是對 Google 服務龐大的資源進行整合,
Google 發展至今與各位的生活已緊密結合,
舉凡由 YouTube 、Gmail、Chrome、匿名的定位紀錄等等,
造就了 Google 擁有著龐大的數據資料,
對於 Google Analytics 來說開啟 Google 信號就是連結上這些數據的樞紐。
隨著時代變遷,
軟體更新也是不斷在進行中,
在舊版本的 GA (Google Analytics)中,
主要以網站上的行為分析為主,
Google 為新一代的 Google Analytics 則強調跨裝置追蹤,
可將來自 app 與 網站的行為分析放在同個資源中來比較分析,
至於新版本設定方式也很簡單,
就直接開始今天的主題,
前往 Google Analytics 預設會使用新版本的頁面,
還沒升級 GA4 系統會自動導入舊版本首頁,
前往 GA 的管理頁面,
有三個頁面依序為帳戶、資源、資料檢視,
未升級新版本在資源頁面會有升級至 GA4的選項,
直接點選該選項,
並選擇
我需要建立新的 Google Analytics (分析) 4 資源
按下開始使用的按鈕後,
設定精靈會告知原有資源不會受到任何影響,
且系統已啟用加強型評估