odoo V10中文參考手冊(四:視圖)

公共結構

  • name (必選) 用于通過名字查找
  • model 與view相關聯的model
  • priority 當搜索查找view時,優先級最低的view會被返回
  • arch 視圖layout的描述
  • groups_id 指定可查看、使用視圖的用戶組id,many2many關系
  • inherit_id 當前視圖的父級視圖
  • mode 繼承模式,當inherit_id沒有設置時,它的值是primary,當設置了inherit_id后,它默認值是extension,可手動設置為primary
  • application 定義哪些視圖可以被切換,默認情況下所有視圖都可以

繼承

視圖匹配

  • 當通過(model, type)來請求視圖時,與model、type匹配且mode=primary 優先級最低的視圖會被返回
  • 當通過id請求視圖時,如果它的模型不是primary,那么最取他的最近的mode=primary的父級視圖

視圖解析

解析符合mode=primary的視圖并得到arch內容:

  • 如果當前視圖有一個父視圖,且父視圖是完全確定的,直接應用當前視圖的繼承規范
  • 如果當前視圖沒有父視圖,那么arch將直接被使用
  • 查找當前視圖的extensino模式子視圖,使用深度優先算法應用它們的繼承規范

應用到子視圖之后的結果產生最終的arch

繼承規范

繼承規范由一個定位元素組成,用來匹配父視圖中被繼承的元素、和 子視圖中會被用來修改的繼承元素
一共有三種用來匹配目標元素的定位元素:

  • 帶有expr屬性的xpath元素 ,expr是一個用在arch中的xpath表達式,找到的第一個節點就是匹配結果
  • 帶有name屬性的field元素,匹配第一個一樣name的field元素,其他的屬性在匹配時被忽略
  • 其他的元素:匹配第一個擁有一樣的name及其他屬性的元素(忽略position,version屬性)

繼承規范通過可選的position屬性來指定如何修改匹配的節點

  • inside(默認) - 添加到匹配的節點前
  • replace - 替換匹配的節點
  • after - 添加到匹配的節點的父節點之后
  • before - 添加到匹配的節點的父節點之前
  • attributes - 繼承的內容是一系列擁有name屬性的attribute 元素,且有可選的內容主體
    1.如果attribute有內容主體,就在匹配的節點上添加以name命名的、以內容主體為值的屬性
    2.如果attribute沒有內容主體,就將匹配節點上名字為name的屬性刪除,如果沒有對應的屬性,拋出一個錯誤

列表視圖

列表視圖的根元素是<tree>,它可以有以下幾種屬性:

editable

默認情況下選擇單行記錄時會打開對應記錄的表單,該屬性讓數據可以在列表內進行編輯,有效的值是top和bottom,可讓新的記錄出現在列表的頂部或底部

default_order

重定義視圖的排序規則,以逗號分隔多個字段,可使用desc來進行倒序<tree default_order="sequence,name desc">

decoration-name

可以根據值來改變字段的顯示,$name可為bf (font-weight: bold), it (font-style: italic)或其他bootstrap樣式如danger, info, muted, primary, success,warning,取值為python表達式,對每條記錄執行相應表達式,當結果為true的時候將對應的樣式應用

create, edit, delete

可以通過將它們設置為false來禁用視圖中的對應操作

on_write

只當啟用editable時有用,在調用時會傳給函數新增或修改后的記錄,該函數需要返回一個用于更新列表的記錄id列表

button

在一個列表單元格中顯示按鈕

屬性列表:
1.icon -- 用來展示按鈕的圖標
2.string -- 當沒有icon的時候,button顯示的文字,有icon的時候、相當于alt屬性值
3.type -- 按鈕類型,表示點擊它之后如何影響系統

1)workflow(默認):將按鈕name作為信號發送給工作流,記錄的內容作為參數
2)object : 調用當前數據列表模型的方法,方法名是按鈕的name,調用時帶有記錄id和當前上下文環境
3)action : 加載ir.actions,按鈕name是該action在數據庫的id,上下文環境擴展到列表的model(作為active_model)、當前記錄(active_id)、所有當前加載記錄的id(active_ids)

4.name,args 與type一樣
5.attrs 基于記錄值的動態屬性,將domain表達式應用在記錄上,當返回值為True的時候設置相應的屬性,一般用于invisible (隱藏按鈕)、readonly (禁用按鈕但顯示)這兩種屬性
6.states invisible屬性attrs的簡寫,給出一個以逗號分隔的state列表,需要模型有一個對應的state屬性,可以將不在state列表中的記錄的按鈕隱藏
7.context 當響應odoo的調用時,合并到視圖的上下文環境中
8.confirm 當點擊按鈕時給出的確認消息

field

定義一個所有記錄都需要展示的列

屬性列表:
1.name 需要顯示的字段名
2.string 該列的名稱
3.invisible 查詢而且保存該字段但不顯示
4.groups 可以看到該字段的用戶組列表
5.widget 用來展示該字段的可選形式

progressbar 進度條用于展示浮點數
many2onebutton當關聯字段值存在時顯示勾,不存在顯示X
handle對于排序字段,直接顯示向上向下箭頭
sum, avg 在底部顯示基于當前頁面數據的計算
attrs 基于記錄值的動態屬性,只對當前欄有效,即可以第一條記錄中該字段顯示,第二條隱藏

表單

表單視圖用于展示單條數據,根元素是form,由常規html和構造部分、語義部分組成

構造部分

構造部分提供了結構和可視特性,以元素或者元素的子元素的形式應用到表單視圖的元素中

1.notebook

定義一個tab塊,每一個tab通過一個page子元素定義,每個page可以有以下屬性:

  • string (required) --tab標簽的名稱
  • accesskey --html accesskey
  • attrs --基于記錄值的動態屬性

2.group

用于定義欄目在表單中布局,默認情況下一個group定義兩個列,并且每個最直接的子元素占用一個列,field類型的元素默認顯示一個標簽
group占用的列數是可以通過col屬性自定義的,默認2個;其他元素可以通過colspan屬性來定義占的列數,子元素是橫向布局的,可以通過設置string 屬性來定義group所展示的標題

3.newline

只在group元素里才有用,代表開啟新的行

4.separator

一條水平線,可以通過string屬性來設置該區域的標題

5.sheet

可以用作form的子元素用來表示更加狹義的表單

6.header

與sheet一起使用,顯示在sheet的上方的一個條,一般用于顯示工作流和狀態欄

語義部分

語義部分用于與odoo系統交互

1.button 與列表的button一致

2.field

展示當前記錄的某個字段,有以下屬性:

  • name (必選) -- 用于展示字段名
  • widget -- 每個字段根據其數據類型有一個默認的展示方式,widget屬性可指定用一個別的方式來展示
  • options -- 用于指定widget字段配置的json對象
  • class -- 用于設置當前元素的html class屬性:

oe_inline - 防止它自動將之后的字段換行
oe_left, oe_right - 相當于css的float
oe_read_only, oe_edit_only - 只在相應的模式下展示該字段
oe_no_button - 不為many2one字段顯示導航按鈕
oe_avatar - 當該字段為圖片時,將它展示為頭像(90*90的正方形)

  • groups - 只將該字段展示給指定用戶組
  • on_change - 在字段值改變時調用對應方法,從8.0開始改用模型中的 odoo.api.onchange()
  • attrs - 基于記錄值的動態參數
  • domain - 當以選擇的方式顯示關聯字段時,用過過濾數據
  • context - 用于關聯字段,顯示數據時提供上下文環境
  • readonly - 該字段可在讀和編輯模式下展示,但是永遠是不能編輯的
  • required - 當該值沒有設置就保存時給出一個錯誤提示并阻止保存
  • nolabel - 不顯示字段的標簽,只有在該字段是group子元素時用意義
  • placeholder - 字段值為空時展示的提示
  • mode - 對于one2many字段,用于展示其關聯的記錄的形式,有tree, form, kanban , graph,默認是tree
  • help - 當將鼠標放在字段或標簽時顯示的提示
  • filename - 對于二進制的字段,相關字段給出文件名
  • password - 表示該字段是一個密碼,不明文展示

業務視圖規則

業務視圖是指向普通用戶的,像:機會、產品、合作伙伴、任務、項目等


一般情況下,業務視圖由以下元素組成:

  • 展示在頂部的業務流程的狀態按鈕
  • 中間展示一個表單的表格
  • 底部展示評論和歷史操作記錄
<form>
    <header> ... content of the status bar  ... </header>
    <sheet>  ... content of the sheet       ... </sheet>
    <div class="oe_chatter"> ... content of the bottom part ... </div>
</form>

1.狀態條

用于展示當前記錄的狀態和相應的動作按鈕

  • 按鈕
    按鈕的順序與業務流程的順序一致,例如在銷售流程中,流程如下:發送詢價單->確認詢價->創建發貨單->發貨
    高亮的按鈕強調下一步的流程,用于提示用戶,通常放在第一個。另外取消按鈕一般被設置成灰色,如在發貨里退款按鈕不會被設置為高亮。通過設置oe_highlight的class屬性來將按鈕元素高亮顯示
    <button class="oe_highlight" name="..." type="..." states="..."/>

  • 狀態
    使用statusbar 部件,并將當前的狀態標紅。普通的狀態會一直顯示出來,異?;蛞蕾囉谄渌鞒痰臓顟B只有在當前狀態下才會顯示。states是根據字段值對應的順序來展示的,一直顯示的狀態可通過statusbar_visible屬性指定:
    <field name="state" widget="statusbar" statusbar_visible="draft,sent,progress,invoiced,done" />

4.表格

業務視圖展示出來要像一張表格一樣

  • 在page或form里的元素不會自動分組,它們會根據普通的html規則來布局,可以通過group或div標簽來進行分組展示
  • 默認情況下group標簽定義兩列,可以通過col="n"來指定多列,并且每列的寬度是一樣的。
  • 可以給group標簽添加string屬性來給該區塊內容添加標題
    <group string="Time-sensitive operations">
  • 不在group內的field標簽默認是不生成label的,可以通過<label for="field_name>來指定label

1.表格頭
某些表格是它們只在編輯模式下才顯示字段的標簽


使用oe_edit_only 的class屬性來指定label只在編輯模式下才展示,oe_inline 屬性將多字段設置展示到單行中

<label for="name" class="oe_edit_only"/>
<h1><field name="name"/></h1>

<label for="planned_revenue" class="oe_edit_only"/>
<h2>
    <field name="planned_revenue" class="oe_inline"/>
    <field name="company_currency" class="oe_inline oe_edit_only"/> at
    <field name="probability" class="oe_inline"/> % success rate
</h2>

2.按鈕
一個表單中可以放置多個相關的操作按鈕,如果商機表單里有安排一個電訪、安排一次會面,可直接顯示在表單中

<div class="oe_button_box" name="button_box">
    <button string="安排電訪" name="..." type="action"/>
    <button string="安排會面" name="action_makeMeeting" type="object"/>
</div>

3.分組和標題
為了方便視圖擴展,需要給group指定一個name屬性,這樣在擴展視圖中可以更容易的找到添加字段的正確位置

特殊案例:小計

某些class是用來展示小計時使用的,比如發貨單:


<group class="oe_subtotal_footer">
    <field name="amount_untaxed"/>
    <field name="amount_tax"/>
    <field name="amount_total" class="oe_subtotal_footer_separator"/>
    <field name="residual" style="margin-top: 10px"/>
</group>

4.placeholder和行內輸入框
有時候字段的標簽把表單搞的太復雜了,可以將標簽隱藏而采用placeholder來提示用戶該輸入框需要輸入什么,同時可以通過div包裹多個inline輸入框來讓它們像是單個字段一樣顯示,例:

<group>
    <label for="street" string="Address"/>
    <div>
        <field name="street" placeholder="Street..."/>
        <field name="street2"/>
        <div>
            <field name="zip" class="oe_inline" placeholder="ZIP"/>
            <field name="city" class="oe_inline" placeholder="City"/>
        </div>
        <field name="state_id" placeholder="State"/>
        <field name="country_id" placeholder="Country"/>
    </div>
</group>

5.圖片
圖片一般在表單的右邊顯示
<field name="product_image" widget="image" class="oe_avatar oe_right"/>

6.標簽
大多數多對多關系字段,如分類,一般使用多標簽來展示
<field name="category_id" widget="many2many_tags"/>

配置表單指導原則

一般不需要header(因為沒有狀態、工作流、按鈕),不需要表格,如:階段配置


彈出框表單指導原則

例:商機的安排電話訪問表單


1.避免使用分隔線
2.不使用取消按鈕(因為一般用戶會直接關閉彈框來替代)
3.操作鈕鈕必須被高亮顯示
4.如果是文本框,使用placeholder來代替label
5.將按鈕放在header元素中

配置向導指導原則

例:設置-配置-銷售
1.單行顯示(沒有彈出框)2.沒有表格 3.保留取消按鈕 4.保存按鈕標紅

圖表

圖表是用于將數據進行聚合顯示用的,它的根標簽是gragh,有以下幾種屬性:

  • type - bar 柱形圖(默認)、line 線形圖 、 pie 扇形圖
  • stacked - 只在柱形圖里使用,設置為True的時候,會在將柱形圖排到group里

圖表里唯一能插入的元素就是field,它有以下幾種屬性

  • name 必選 -- 用在圖表中的字段名
  • type -- 指定該字段是進行分類統計還是總計

row 默認 -- 根據指定字段分組,所有圖表至少支持一級分組,有些支持多級,在pivot視圖中,每個分組拿自己的記錄
col -- 只在pivot表中使用,創建一個列優先的分組集合
measure -- 分組中用來聚合的字段

  • interval -- 在基于date或datetime字段進行分組統計時使用day, week, month, quarter , year來計算

pivot

pivot視圖使用 pivot表來展示匯總數據,根標簽是pivot,有以下屬性:

  • disable_linking - 設置為True時取消單元格和數據列表視圖之間的鏈接
  • display_quantity - 設置為True時以默認方式顯式數量

pivot跟其他圖表一樣也只允許field元素

看板視圖

看板視圖展示出一個看板圖,由多個卡片構成,可以是對列分組展示或直接展示,它的根標簽是kanban,有以下屬性

  • default_group_by -- 當action或search沒有進行分組時,視圖是否需要進行分組,取值為用于進行分組的字段名
  • default_order -- 當用戶沒有對記錄進行排序時卡片中所使用的排序字段
  • class -- 添加看板視圖根html的類屬性
  • quick_create -- 是否可以在不切換到表單視圖的情況下直接創建記錄,當看板視圖是經過分組的時候它是啟用的,否則不啟用,可通過設置True來強制啟用,False強制禁用

子元素可以是以下幾種

field

定義用來集合計算或用在看板視圖邏輯中的字段,如果某字段僅用于在看板視圖中展示,它不需要預先進行定義,有以下屬性:

  • name (required) -- 用于獲取數據的字段名
  • sum, avg, min, max, count -- 在看板視圖最上方展示對應的計算后的值,每個字段只支持一個

templates

定義一個QWeb模板列表,卡片可以分割成多個模板,但看板視圖至少需要定義一個kanban-box標簽,每條記錄會執行一次,看板視圖用的是嚴格的qweb javascript,有以下幾個環境變量:

  • instance -- 當前qweb實例
  • widget -- 可用來獲取元數據信息,
  • record -- 一個帶有所有被請求字段的對象,每個字段有value和raw_value兩個屬性,value遵循當前用戶格式,raw_value是直接讀取出來的數據
  • formats -- 用于操縱和轉換值的web.formats()模塊
  • read_only_mode -- 只讀

按鈕和字段

由于看板模板是標準的qweb,看板視圖有特殊的處理field、button、a標簽的方式

  • 默認情況下字段值顯示的是格式化之后的,除非它匹配了對應的視圖widget
  • 擁有type屬性的按鈕和鏈接會轉換成odoo相關的操作:

1.action,object -- 與odoo按鈕的屬性一致

2.open -- 在只讀模式下打開卡片的視圖
3.edit -- 在編輯模式下打開卡片視圖
4.delete -- 刪除卡片的記錄且移除卡片

javascript API

class KanbanRecord()

  • Widget() 將單條記錄解析到卡片中
  • kanban_color(raw_value) 將一個color片段轉換成oe_kanban_color_color_index
  • kanban_getcolor(raw_value) 將color片段轉換為color_index
  • kanban_image(model, field, id[, cache][, options]) 將指定字段轉換成圖片URL

model -- 保存圖片的model, field -- 保存圖片數據的字段名 , id -- 需要展示圖片的記錄id,cache--圖片在瀏覽器的緩存時間(秒),0表示不緩存

  • kanban_text_ellipsis(string[, size=160]) 將比較長的內容提取一部分顯示

日歷視圖

日歷視圖按天、周、月來顯示數據,根元素是calendar,有以下屬性:

  • date_start (必選) -- 儲存開始時間的字段
  • date_stop -- 儲存結束時間的字段,當提供了該字段時記錄可以直接在視圖中刪除
  • date_delay -- 與date_stop類似,表示的是該事件的持續時間
  • color -- 用于定義顏色的字段,顏色字段值相同的記錄會在視圖中以相同的顏色顯示
  • event_open_popup -- 以彈框代替表單來打開事件,默認是禁用的
  • quick_add -- 允許快速添加事件,只需要提供name就行,當創建失敗時會轉到一個完整的表單彈出框
  • display -- 將字段名用[]包裹展示
  • all_day -- 布爾型,用來定義對應事件是否是全天有效
  • mode -- 默認的顯示模式:day, week, month

甘特圖

甘特圖用于展示甘特圖表如流程,根元素是gantt,沒有子元素,但可以有以下屬性:

  • date_start (必選) -- 儲存開始時間的字段
  • date_stop -- 提供結束時間的字段,可以用date_delay來實現同樣的作用,兩者必須提供一個,如果該字段被設置為False,那該事件的開始時間和結束時間是同個時間點
  • date_delay -- 提供事件持續時間的字段
  • duration_unit -- 持續時間的單位,minute, hour (默認), day, week, month, year
  • default_group_by -- 任務分組的依據字段
  • type -- gantt(默認) 傳統甘特圖、 consolidate(首個child的值被合并甘特圖任務中)、planning(children會自動顯示到甘特圖任務中)
  • consolidation -- 在記錄單元格中用于顯示合并值的字段名
  • consolidation_max -- 數據字典,表示超過一定的值會標紅顯示 ,如:{"user_id": 100}
  • string -- 展示在合并值旁邊的字符,如果沒設置會自動取對應字段的label
  • fold_last_level -- 如果設置了該屬性,最后一個分組級別會被折疊
  • round_dnd_dates -- 開始和結束時間取整
  • drag_resize -- 任務調整,默認True

示意圖

示意圖可用來展示原來就是圖表的記錄,根元素是diagram,沒有屬性,有幾種子元素:

node(必選)

定義圖表的節點,有以下屬性:

  • object -- 節點對應的model
  • shape -- 就像列表視圖的顏色、字體一樣的形狀表示,唯一可選的取值是rectangle (長方形),默認無
  • bgcolor -- 用來表示節點的背景顏色,默認是白色,可取值grey

arrow (必選)

用于定義圖表的箭頭,有以下屬性:

  • object(必選) -- 箭頭對應的model
  • source (必選) -- model的Many2one字段,用于指向箭頭的源節點數據
  • destination (必選) -- model的Many2one字段,指向箭頭的目標節點數據
  • label -- python格式的屬性列表,相應的屬性值會用作箭頭的label顯示

label

用于解釋示意圖的節點,string屬性定義的是節點的內容,每個label帶有編號顯示在示意圖頭部

搜索視圖

搜索視圖與其他視圖不同,因為它不實際顯示內容,它用于過濾其他視圖的內容,定義的形式卻一樣。它的根元素是search,沒有屬性??梢杂幸韵聨字凶釉兀?/p>

field

field使用用戶提供的值來定義domain表達式和上下文環境,當產生搜索domain表達式后,會與field提供的表達式使用and進行合并作用,可有以下幾種屬性:

  • name -- 需要過濾的字段名
  • string -- 字段的label
  • operator -- 默認情況下field會生成[(name, operator, provided_value)]格式的表達式,其中name是字段名,provided_value是用戶提供的值,operator屬性可以重寫默認的運算符(默認情況下是根據字段類型分配,數字型是=,字符型是ilike)
  • filter_domain -- 用于搜索的完整的domain表達式,可以用self變量來將提供的值注入,當operator和filter_domain同時賦值時,filter_domain有最高優先級
  • context -- 允許添加上下文的值
  • groups -- 使該字段只對某些用戶組可用
  • widget -- 使用指定的搜索部件(唯一的用例是V8的many2one字段選擇插件)
  • domain -- 如果字段提供自動完成時(many2one),過濾出可能的自動完成結果

filter

過濾器搜索視圖里是被預定義的,只能被啟用或禁用。主要用于將數據添加到搜索的上下文環境或者添加新的片段到搜索filter,有以下屬性:

  • string (required) -- 過濾器的label
  • domain -- 一個domain表達式,被添加到action的domain表達式中,作為搜索的domain表達式一部分
  • context -- 一個python格式數據字典,被合并到action的domain表達式中,用于生成搜索的domain表達式
  • name -- 過濾器的邏輯名
  • help -- 過濾器的描述文字
  • groups -- 指定過濾器可用的用戶組
<filter domain="[('state', '=', 'draft')]"/>
<filter domain="[('state', '=', 'done')]"/>
#上述代碼當兩個都選的時候是以or聯接的

<filter domain="[('state', '=', 'draft')]"/>
<separator/>
<filter domain="[('delay', '<', 15)]"/>
#上述代碼當兩個都選的時候用and聯接

separator

用于將多組過濾器分開,一般用于很簡單的視圖里

group

也是用于分離多組過濾器,在復雜的視圖中比separator更加易讀

默認搜索

搜索字段和過濾條件可以通過action的context使用search_default_name 配置,對于字段就是需要搜索的值,對過濾器它是一個布爾值,例:

{
  'search_default_foo': 'acro',
  'search_default_bar': 1
}
#自動激活bar過濾器,并在foo字段搜索acro

QWeb視圖

QWeb視圖是標準的qweb模板,嵌入在視圖的arch標簽中,沒有指定的根標簽
每個qweb視圖只能包含一個模板,模板名必須與視圖的id完全一致


譯自odoo官方文檔:http://www.odoo.com/documentation/10.0/reference/views.html,不當之處歡迎批評指正。

內容發布自http://www.lxweimin.com/u/6fdae8ec06bc,轉載請注明出處

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,908評論 6 541
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,324評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,018評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,675評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,417評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,783評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,779評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,960評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,522評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,267評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,471評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,009評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,698評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,099評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,386評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,204評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,436評論 2 378

推薦閱讀更多精彩內容

  • 記錄集 model的數據是通過數據集合的形式來使用的,定義在model里的函數執行時它們的self變量也是一個數據...
    XiaoHaiYang閱讀 16,937評論 0 16
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,823評論 18 139
  • 翻譯自“Auto Layout Guide”。 2 自動布局細則手冊 2.1 堆棧視圖 接下來的章節展示了如何使用...
    lakerszhy閱讀 1,885評論 3 9
  • 距《百鳥朝鳳》影片的上映已經過去五個多月了,媒體上有關于這部影片的消息也早已銷聲匿跡,觀眾觀影后的戚戚共鳴也在一波...
    張荷妮閱讀 672評論 0 2
  • 2017年02月21日 (農歷:正月廿四)星期二 晴 一、讀經情況: 1.《孫子兵法1-7章 2.《莊子》應帝王第...
    中和lxy閱讀 260評論 0 1