Tango With Django 中文翻譯版(Django 2.0)--1.概述

1. 概述

本書是基于Django和Python網(wǎng)站開發(fā)的實(shí)戰(zhàn)型手冊(cè)。本書主要是為初學(xué)者設(shè)計(jì)的篷帅,希望為初學(xué)者提供一個(gè)如何使用Django 2.0開發(fā)一個(gè)網(wǎng)站應(yīng)用的含有詳細(xì)步驟的攻略教程糟袁。

本書旨在對(duì)Django官方以及其他優(yōu)秀的網(wǎng)上教程進(jìn)行補(bǔ)充。通過將所有的內(nèi)容整合在一起,實(shí)戰(zhàn)開發(fā)的方法學(xué)習(xí)如何正確使用Django 2.0框架颅眶, 同時(shí)填補(bǔ)了不少官方文檔中的坑油讯。此外详民,本書還介紹了一些在網(wǎng)絡(luò)應(yīng)用開發(fā)中需要用到的其他的知識(shí)(例如,HTML陌兑、CSS沈跨、JavaScript 等等)。

1.1 為什么使用本書學(xué)習(xí)

本書能節(jié)約你的時(shí)間 我們經(jīng)常能見到很多十分聰明的學(xué)生在學(xué)習(xí)Django和其他相關(guān)的網(wǎng)站應(yīng)用開發(fā)工具時(shí)兔综,耗費(fèi)了大量的精力和時(shí)間饿凛,依然被卡在某個(gè)環(huán)節(jié)。其原因往往是因?yàn)槟硞€(gè)關(guān)鍵知識(shí)點(diǎn)沒有提供支持信息软驰,或者說明的不夠清晰涧窒。偶爾情況下,這樣的問題會(huì)耽誤你學(xué)習(xí)工作10-15分鐘锭亏,更多時(shí)候解決這些問題需要耗費(fèi)數(shù)個(gè)小時(shí)纠吴。我們?cè)噲D盡可能的掃除這些障礙,幫助你盡快的投入到應(yīng)用開發(fā)中慧瘤,而不是泥足深陷在這些坑里戴已。

本書能降低你的學(xué)習(xí)曲線 當(dāng)然應(yīng)用程序框架(Django)可以幫助你減少大量的麻煩和時(shí)間,前提是你必須準(zhǔn)確知道如何使用他們锅减!但是通常情況下糖儡,相關(guān)知識(shí)的學(xué)習(xí)曲線是非常陡峭。本書嘗試著解釋清楚如何將所有的知識(shí)整合在一起怔匣,從而幫助你能快速前進(jìn)握联。

本書能提升你的工作流程 使用應(yīng)用程序框架要求遵循特定的設(shè)計(jì)模式,所以這也要求需要將特定的代碼塊放入特定的位置。在和很多初學(xué)者一起工作以后拴疤,我們聽到很多關(guān)于使用框架的抱怨永部,特別是如何擺脫框架的控制(即反轉(zhuǎn)控制),我們創(chuàng)造了很多工作流來幫助你更好的聚焦在開發(fā)過程呐矾,這樣你就能重新獲得控制感苔埋,并更有規(guī)則的構(gòu)建的網(wǎng)站應(yīng)用。

本書不是用來閱讀的 你可以按照你的設(shè)想做所有的事情蜒犯,但是請(qǐng)不要僅僅閱讀本書组橄!這是一本教你如何動(dòng)手用Django開發(fā)應(yīng)用的指導(dǎo)書,閱讀不是上手做罚随。只有跟隨本書真正動(dòng)手完成開發(fā)了這個(gè)應(yīng)用玉工,你才能從練習(xí)中收獲得更多。但是在你為這個(gè)應(yīng)用實(shí)際編寫代碼的時(shí)候淘菩,請(qǐng)不要 復(fù)制黏貼 書中的代碼遵班。請(qǐng)手動(dòng)輸入每一行代碼,思考每一行代碼的作用潮改,并閱讀本書中所為你提供的相關(guān)解釋狭郑,如果你依然無法理解,你可以嘗試使用Stack Overflow或者其他有用的網(wǎng)站來幫助你解決問題汇在,這樣你才能彌補(bǔ)你知識(shí)中的不足翰萨。當(dāng)然當(dāng)你發(fā)現(xiàn)你無法跨過這道坎的時(shí)候,你也可以聯(lián)系我們糕殉,這樣我們可以更好的更新我們的資源亩鬼,其實(shí)我們獲得了許多其他讀者的幫助和反饋。

1.2 你能從本書中學(xué)到什么

在本書中阿蝶,我們將使用案例教學(xué)的方法雳锋,本書將會(huì)一步一步教你如何構(gòu)建一個(gè)名叫 Rango (請(qǐng)查閱1.4 項(xiàng)目設(shè)計(jì)簡述)的網(wǎng)站應(yīng)用程序。在這個(gè)學(xué)習(xí)過程中羡洁,我們將向你展示如何完成以下關(guān)鍵性任務(wù)玷过。

  • 如何配置你的開發(fā)環(huán)境 ——包括如何使用 終端,虛擬環(huán)境焚廊,pip 安裝程序,以及如何使用 Git 等等
  • 安裝Django項(xiàng)目 以及如何創(chuàng)建一個(gè)基礎(chǔ)的Django項(xiàng)目
  • 配置Django項(xiàng)目 來支持靜態(tài)媒體及其他媒體文件
  • 創(chuàng)建數(shù)據(jù)庫模型 使用Django所提供的對(duì)象關(guān)系映射(ORM)功能
  • 創(chuàng)建表單 這樣你就能利用數(shù)據(jù)庫模型來動(dòng)態(tài)生成你的網(wǎng)站頁面
  • 使用Django提供的 用戶驗(yàn)證(user Authentication) 功能模塊
  • 外部服務(wù)(external services) 整合進(jìn)你的Django項(xiàng)目中去
  • 在你的網(wǎng)站應(yīng)用中使用 層疊樣式表(CSS)JavaScript
  • 讓你應(yīng)用中所使用的 CSS 顯的更專業(yè)
  • 在Django中使用 Sessioncookie
  • 在你的應(yīng)用中使用更高級(jí)的內(nèi)容习劫,例如 AJAX
  • 使用 PythonAnyWhere 在網(wǎng)站服務(wù)器上 部署你的應(yīng)用

在每一章的結(jié)尾處咆瘟,我們提供了一些具有挑戰(zhàn)性的練習(xí),在讓你更深入思考的同時(shí)诽里,讓你了解自己是否已經(jīng)掌握了剛才所學(xué)的內(nèi)容袒餐。本書的后面幾章還提供了一些開放性的開發(fā)練習(xí),同時(shí)包含了相應(yīng)的解決方案和思路。

練習(xí): 所有練習(xí)都會(huì)以這樣的方式清晰展示

在每一個(gè)單元我們都已經(jīng)添加了一些練習(xí)來測(cè)試你是否已經(jīng)掌握了知識(shí)點(diǎn)和相關(guān)技能灸眼。
你需要認(rèn)真的完成這些練習(xí)卧檐,因?yàn)楹罄m(xù)的章節(jié)能否很好的理解,依賴于這些知識(shí)和技能的掌握焰宣。
假如你在某個(gè)問題商卡住了霉囚,也請(qǐng)不要擔(dān)心,你可以直接查詢我們的 Github 代碼庫匕积,來尋找問題的答案盈罐。

1.3 相關(guān)技術(shù)和功能包

在本書的教程中,我們將會(huì)涉及以下的技術(shù)和外部功能服務(wù)包闪唆。

  • Python 編程語言
  • Pip 包管理
  • Django
  • Git 版本控制
  • Github
  • HTML
  • CSS
  • JavaScript
  • JQuery 庫
  • Twitter Bootstrap 前端框架
  • Webhose API 搜索接口
  • PythonAnyWhere 主機(jī)部署服務(wù)

我們選擇這些技術(shù)不僅僅是因?yàn)檫@些技術(shù)是網(wǎng)站應(yīng)用開發(fā)的基礎(chǔ)盅粪,而且為我們提供了很好的例子來向你展示,如何集成類似 Bootstrap 的CSS工具組件悄蕾,類似 Webhose API 的第三方服務(wù)包票顾,以及如何使用 PythonAnyWhere 來快速部署你的網(wǎng)站應(yīng)用。

1.4 Rango: 初始設(shè)計(jì)以及功能定義

在本書中帆调,我們將會(huì)聚焦在如何開發(fā)一個(gè)應(yīng)用奠骄,名叫 Rango 。 我們?cè)陂_發(fā)這個(gè)應(yīng)用的過程中贷帮,將會(huì)學(xué)習(xí)到將來開發(fā)任何網(wǎng)站應(yīng)用都會(huì)用到的核心組件戚揭。要想查看這個(gè)應(yīng)用的完整功能,請(qǐng)?jiān)L問 How to Tango with Django 網(wǎng)站撵枢。

設(shè)計(jì)概述

現(xiàn)在你的客戶向你提出了一個(gè)需求民晒,需要?jiǎng)?chuàng)建一個(gè)名叫 Rango 的網(wǎng)站。在這個(gè)網(wǎng)站上可以讓用戶通過用戶定義的多個(gè)目錄訪問相對(duì)應(yīng)的不同網(wǎng)站頁面锄禽。在西班牙問中潜必,rango 的意思是“質(zhì)量排名協(xié)會(huì)“或者“社會(huì)階層的位置

  • 在 Rango 的主頁 main page ,你的客戶希望用戶能看到:
    • 前 5 個(gè)瀏覽最多的頁面
    • 前 5 個(gè)瀏覽最多(或者打分最多)的目錄
    • 為訪問者提供瀏覽和檢索目錄的功能
  • 當(dāng)用戶瀏覽 目錄頁面 category page 的時(shí)候沃但,你的客戶希望 Rango可以顯示:
    • 當(dāng)前 目錄的名稱磁滚,訪問數(shù)量, 喜歡數(shù)量, 以及和當(dāng)前目錄相關(guān)的頁面列表(顯示頁面名稱,以及超鏈接到頁面內(nèi)的地址)
    • 以及提供搜索功能(通過搜索API)查詢其他可以被加入當(dāng)前目錄的頁面宵晚。
  • 在特定的目錄中垂攘,客戶希望:可以記錄目錄的名字每個(gè)目錄頁面的被訪問次數(shù)淤刃,以及 多少用戶點(diǎn)擊了喜歡 (即晒他,頁面被打分)。
  • 每個(gè)目錄需要可以通過具有可讀性的地址進(jìn)行訪問逸贾,例如 /rango/books-aboutdjango/
  • 只有 注冊(cè)用戶才能在目錄中添加和搜索頁面陨仅, 因此訪客可以自己注冊(cè)賬戶津滞。

一眼看去,這個(gè)應(yīng)用的開發(fā)似乎非常簡單灼伤,本質(zhì)上這就是一個(gè)網(wǎng)頁鏈接分類目錄的列表系統(tǒng)触徐,但是,這個(gè)項(xiàng)目中還是有不少復(fù)雜的具有挑戰(zhàn)的知識(shí)點(diǎn)需要我們關(guān)注的狐赡。首先讓我們通過一些頂層設(shè)計(jì)撞鹉,看看到底我們?cè)陧?xiàng)目中需要開發(fā)哪些細(xì)節(jié)。

練習(xí):

在展開進(jìn)一步工作之前猾警,先讓我們考慮一下以上對(duì)項(xiàng)目的需求定義孔祸,并做一些設(shè)計(jì)草案。

  • N層(N-Tier)和系統(tǒng)結(jié)構(gòu)圖(System Architecture diagram)
  • 首頁和目錄頁的線框圖(Wireframes)
  • 本應(yīng)用的一系列地址映射(URL Mappings)
  • 用來描述我們需要實(shí)現(xiàn)的數(shù)據(jù)模型的實(shí)體關(guān)系(ER)圖

在學(xué)習(xí)下面環(huán)節(jié)之前发皿,請(qǐng)嘗試著先完成這些練習(xí)崔慧,即使你并不了解系統(tǒng)結(jié)構(gòu)圖,線框圖或者實(shí)體關(guān)系圖穴墅,那就請(qǐng)考慮一下你該如何解釋和描述哪些你準(zhǔn)備開發(fā)的東西呢惶室?

N層結(jié)構(gòu) N-Tier Architecture

大多數(shù)網(wǎng)站應(yīng)用的高層級(jí)結(jié)構(gòu)使用的是3層結(jié)構(gòu)。但是 Rango 需要和第三方服務(wù)做接口玄货,所以它的層次結(jié)構(gòu)是一個(gè)非標(biāo)準(zhǔn)的變體皇钞。

Rango應(yīng)用程序3層結(jié)構(gòu)概覽圖

由于我們是使用Django來構(gòu)建我們的網(wǎng)站應(yīng)用,我們將會(huì)使用以下的技術(shù)來實(shí)現(xiàn)各個(gè)層次:

  • 客戶端(client) 網(wǎng)頁瀏覽器(例如 Chrome, Safari, Firefox)松捉,負(fù)責(zé)對(duì) HTML/CSS 頁面進(jìn)行渲染
  • 中間層(middleware)Django 應(yīng)用夹界,在我們開發(fā)的時(shí)候,將會(huì)使用Django網(wǎng)頁服務(wù)器作為任務(wù)調(diào)撥
  • 數(shù)據(jù)庫(database) 使用基于Python的 SQLite3 數(shù)據(jù)庫引擎
  • 搜索接口(Search API) 就是搜索接口

在大部分的情況下隘世,我們將會(huì)聚焦在如何開發(fā)中間層可柿,但是很顯然從系統(tǒng)結(jié)構(gòu)圖來看,我們要考慮所有的組件并與所有其他組件接口

線框圖

向客戶展現(xiàn)最終項(xiàng)目完成時(shí)的界面丙者,線框圖是一個(gè)很好的方法复斥。它能節(jié)約大量的時(shí)間,并且你可以根據(jù)你所掌握的工具械媒,選擇向客戶提供簡單手繪草圖目锭,或是高精度仿制模型。對(duì)于我們的Rango應(yīng)用來說纷捞,我們希望我們的首頁和目錄頁能與下面的截圖一致痢虹。


首頁,在左側(cè)帶有目錄搜索條主儡,并且顯示前五的頁面和目錄

目錄頁顯示了目錄內(nèi)的所有Page奖唯,以及查看數(shù)量。在下方進(jìn)行了“python”的搜索缀辩,并顯示了搜索結(jié)果

頁面和地址映射 URL Mapping

根據(jù)需求定義臭埋,我們已經(jīng)在我們的應(yīng)用內(nèi)確定了兩個(gè)需要在不同的訪問位置下向用戶展現(xiàn)的頁面。我們需要描述清楚 URL地址臀玄,用來讓用戶訪問不同的頁面瓢阴。地址映射就是用戶在瀏覽器地址欄中輸入的地址文本,來瀏覽指定的頁面健无。Rango的基礎(chǔ)URL 地址映射如下荣恐。

  • / 或者 /rango/ 來訪問首頁(入口頁)
  • /rango/about/ 指向關(guān)于頁
  • /rango/category/<category-name>/,將會(huì)指向<category-name>所對(duì)應(yīng)的目錄頁,它的值可能是會(huì)是:
    • games;
    • python-recipes;
    • code-and-compilers累贤。

在構(gòu)建我們的應(yīng)用的時(shí)候叠穆,我們很可能需要?jiǎng)?chuàng)建其他的URL地址映射。但是上述所列的可以給我們一個(gè)起點(diǎn)臼膏,并且在我們創(chuàng)建其他頁面的時(shí)候提供很好的思路硼被。同時(shí),隨著本書逐步學(xué)習(xí)渗磅,我們將會(huì)使用Django框架和 模型-視圖-視圖模版 的設(shè)計(jì)思路來充實(shí)我們構(gòu)建這些頁面的方法嚷硫。我們現(xiàn)在已經(jīng)有了URL地址映射的關(guān)鍵點(diǎn),以及頁面未來的樣子始鱼,現(xiàn)在我們要開始定義為我們的應(yīng)用存儲(chǔ)和提供數(shù)據(jù)的數(shù)據(jù)模型了仔掸。

實(shí)體關(guān)系圖(ER圖)

根據(jù)需求定義,很顯然我們至少需要兩個(gè)實(shí)體:categorypage 医清, 并且一個(gè) category 可以容納許多個(gè) page起暮。以此我們可以用以下的ER圖來表示簡單的數(shù)據(jù)模型。

Rango應(yīng)用兩個(gè)主體的ER圖

需要留意的是会烙,這里有一些需求定義并不是很清晰负懦,理論上來說一個(gè) page 應(yīng)該可以屬于1個(gè)或者多個(gè) category 。如果要滿足這個(gè)需求持搜,那么我們需要定義 categorypage 為多對(duì)多的關(guān)系密似。然而這樣的化,會(huì)讓項(xiàng)目復(fù)雜很多葫盼,所以為了簡化項(xiàng)目残腌,我們?cè)谶@里設(shè)定:一個(gè) category 可以包含多個(gè) page,但是一個(gè) page 只能屬于一個(gè) category 贫导。其實(shí)這個(gè)并不影響一個(gè)頁面需要存在于多個(gè)目錄下這個(gè)功能抛猫,只是這個(gè)頁面需要在數(shù)據(jù)庫中建立多個(gè)記錄,當(dāng)然這個(gè)解決方案是有瑕疵的孩灯。

做好筆記

養(yǎng)成記錄你曾做過的所有設(shè)定的習(xí)慣闺金,就像我們現(xiàn)在設(shè)定的一對(duì)多的實(shí)體關(guān)系一樣。你永遠(yuǎn)都不知道你做的設(shè)定會(huì)給你埋下多大的坑峰档。記錄下來败匹,這讓你可以通過于你開發(fā)團(tuán)隊(duì)成員之間的溝通來確保寨昙,你所做的設(shè)定是明智,所有人都可以在這個(gè)設(shè)定下進(jìn)行工作掀亩。

依據(jù)這個(gè)設(shè)定舔哪,我們做了一些表格來描述各個(gè)實(shí)體的細(xì)節(jié)。這些表格說明了各個(gè)實(shí)體都擁有哪些字段槽棍。我們使用了Django的 ModelField 類型來定義各個(gè)字段的類型(即 CharField, IntegerField, URLField 以及 ForeignKey)捉蚤,請(qǐng)留意在Django中 主鍵 primary keys 是隱式的,以便 Django向每個(gè)模型添加了id炼七,我們會(huì)在后面的 數(shù)據(jù)庫和模型 章節(jié)深入討論缆巧。

Category 模型

Field Type
name CharField
views IntegerField
likes IntegerField

Page 模型

Field Type
category ForeignKey
title CharField
url URLField
views IntegerField

我們還需要有個(gè) User 的模型,這樣用戶才能注冊(cè)和登陸豌拙。我們現(xiàn)在不做討論陕悬,但是會(huì)在用戶驗(yàn)證部分進(jìn)行介紹。在后續(xù)章節(jié)中按傅,我們將會(huì)展示如何在 Django 中實(shí)例化這些模型墩莫,同時(shí)如何使用內(nèi)建的 ORM 連結(jié)數(shù)據(jù)庫。

1.5 總結(jié)

這些頂層設(shè)計(jì)和需求規(guī)范將會(huì)為我們的網(wǎng)站應(yīng)用開發(fā)建立非常良好的參考點(diǎn)逞敷。雖然我們將主要關(guān)注如何使用特定的技術(shù)狂秦,但是這些方法在絕大部分?jǐn)?shù)據(jù)庫驅(qū)動(dòng)的網(wǎng)站中都是非常常見的。所以熟悉如何閱讀和制作這些需求規(guī)范和設(shè)計(jì)文檔推捐,能幫助你更好的和其他人溝通你的想法和設(shè)計(jì)裂问,這是十分重要和有幫助的。在這里牛柒,我們將使用 Django 以及相關(guān)的技術(shù)來實(shí)現(xiàn)這些需求定義堪簿。

復(fù)制粘貼代碼

隨著本教程的進(jìn)行,你很有肯能試圖從書中直接復(fù)制代碼皮壁,并粘貼到你自己的代碼編輯器中去椭更。但是,請(qǐng)盡可能的自己手動(dòng)輸入所有的代碼蛾魄。我們知道這個(gè)很無聊虑瀑,但是這能幫助你更好的記住操作過程,以及那些你后面將會(huì)用到的命令滴须。

此外舌狗,復(fù)制粘貼 Python 代碼,你很可能在自找麻煩扔水。書中的空白區(qū)域很可能被解釋成 space痛侍,tab 或者 spacetab的混合體,這會(huì)導(dǎo)致大量奇奇怪怪的問題魔市,而不一定僅僅是縮進(jìn)錯(cuò)誤主届。請(qǐng)?zhí)貏e留意赵哲,如果你正在使用Python 3,如果在縮進(jìn)中混合使用 spacetab 君丁,將會(huì)導(dǎo)致 TabError錯(cuò)誤誓竿。

現(xiàn)在絕大部分的編輯器,都能夠正確顯示空白區(qū)域是使用的tab還是space谈截,如果有這個(gè)功能,請(qǐng)打開它涧偷,這能幫你解決不少困惑簸喂。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市燎潮,隨后出現(xiàn)的幾起案子喻鳄,更是在濱河造成了極大的恐慌,老刑警劉巖确封,帶你破解...
    沈念sama閱讀 221,331評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件除呵,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡爪喘,警方通過查閱死者的電腦和手機(jī)颜曾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,372評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來秉剑,“玉大人泛豪,你說我怎么就攤上這事≌炫簦” “怎么了诡曙?”我有些...
    開封第一講書人閱讀 167,755評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長略水。 經(jīng)常有香客問我价卤,道長,這世上最難降的妖魔是什么渊涝? 我笑而不...
    開封第一講書人閱讀 59,528評(píng)論 1 296
  • 正文 為了忘掉前任慎璧,我火速辦了婚禮,結(jié)果婚禮上跨释,老公的妹妹穿的比我還像新娘炸卑。我一直安慰自己,他們只是感情好煤傍,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,526評(píng)論 6 397
  • 文/花漫 我一把揭開白布盖文。 她就那樣靜靜地躺著,像睡著了一般蚯姆。 火紅的嫁衣襯著肌膚如雪五续。 梳的紋絲不亂的頭發(fā)上洒敏,一...
    開封第一講書人閱讀 52,166評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音疙驾,去河邊找鬼凶伙。 笑死,一個(gè)胖子當(dāng)著我的面吹牛它碎,可吹牛的內(nèi)容都是我干的函荣。 我是一名探鬼主播,決...
    沈念sama閱讀 40,768評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼扳肛,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼傻挂!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起挖息,我...
    開封第一講書人閱讀 39,664評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤金拒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后套腹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绪抛,經(jīng)...
    沈念sama閱讀 46,205評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,290評(píng)論 3 340
  • 正文 我和宋清朗相戀三年电禀,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了幢码。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,435評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡尖飞,死狀恐怖蛤育,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情葫松,我是刑警寧澤瓦糕,帶...
    沈念sama閱讀 36,126評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站腋么,受9級(jí)特大地震影響咕娄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜珊擂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,804評(píng)論 3 333
  • 文/蒙蒙 一圣勒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧摧扇,春花似錦圣贸、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,276評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春用含,著一層夾襖步出監(jiān)牢的瞬間矮慕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來泰國打工啄骇, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留痴鳄,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,818評(píng)論 3 376
  • 正文 我出身青樓缸夹,卻偏偏與公主長得像痪寻,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子虽惭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,442評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容