diango基本概念

上面這兩個(gè)圖片是ORM對(duì)象關(guān)系映射的關(guān)系理解咐鹤。

django框架

一拗秘、簡(jiǎn)介

web框架

具體介紹django之前,必須先介紹python的web框架等概念祈惶。

web框架: 別人已經(jīng)設(shè)定好的一個(gè)web網(wǎng)站模板雕旨,你學(xué)習(xí)它的規(guī)則扮匠,然后“填空”或“修改”成你自己需要的樣子。

一般web框架的架構(gòu)是這樣的(看圖)


其它基于python的web框架凡涩,如tornado棒搜、flask、webpy都是在這個(gè)范圍內(nèi)進(jìn)行增刪裁剪的活箕。

例如tornado用的是自己的異步非阻塞力麸,flask則只提供了最精簡(jiǎn)和基本的框架。

django則是直接使用了WSGI育韩,并實(shí)現(xiàn)了大部分功能克蚂。

django簡(jiǎn)介

django是用python開(kāi)發(fā)的一個(gè)免費(fèi)開(kāi)源的web框架,可以用于快速搭建高性能筋讨,優(yōu)雅的網(wǎng)站埃叭!

django的理念是DRY(Don't Repeat Yourself)來(lái)鼓勵(lì)快速開(kāi)發(fā)!

二版仔、django框架的核心組件有:

1.用于創(chuàng)建模型的對(duì)象關(guān)系映射(orm)

2.為最終用戶設(shè)計(jì)的完美管理界面

3.一流的URL設(shè)計(jì)

4.設(shè)計(jì)者友好的模板語(yǔ)言

5.緩存系統(tǒng)

6.國(guó)際化

1游盲、用于創(chuàng)建模型的對(duì)象關(guān)系映射

對(duì)上面1-6的含義解析:

1.用于創(chuàng)建模型的對(duì)象關(guān)系映射(orm)

以python類形式定義你的數(shù)據(jù)模型,ORM將模型與關(guān)系數(shù)據(jù)庫(kù)連接起來(lái)蛮粮,你將得到一個(gè)非常容易使用的數(shù)據(jù)庫(kù)API益缎,同時(shí)你也可以在Django中使用原始的SQL語(yǔ)句。

2然想、為最終用戶設(shè)計(jì)的完美管理界面

幾行簡(jiǎn)單的代碼就讓你的網(wǎng)站擁有一個(gè)強(qiáng)大的后臺(tái)莺奔,輕松管理你的內(nèi)容!

不需要你花大量的工作來(lái)創(chuàng)建人員管理和更新內(nèi)容变泄。Django自帶一個(gè)ADMIN site,類似于內(nèi)容管理系統(tǒng)

3令哟、一流的URL設(shè)計(jì)

用正則匹配網(wǎng)址,傳遞到對(duì)應(yīng)函數(shù)妨蛹,隨意定義屏富,如你所想!你可以設(shè)計(jì)任意的URL蛙卤,沒(méi)有框架的特定限定狠半。像你喜歡的一樣靈活

4、設(shè)計(jì)者友好的模板語(yǔ)言

強(qiáng)大颤难,易擴(kuò)展的模板系統(tǒng)神年,設(shè)計(jì)簡(jiǎn)易,代碼行嗤,樣式分開(kāi)設(shè)計(jì)已日,更容易管理。

使用django強(qiáng)大而可擴(kuò)展的模板語(yǔ)言栅屏,可以分隔設(shè)計(jì)飘千、內(nèi)容和Python代碼堂鲜。并且具有可繼承性。

5占婉、緩存系統(tǒng)

與memcached或其它的緩存系統(tǒng)聯(lián)用泡嘴,更出色的表現(xiàn),更快的加載速度逆济。

6酌予、國(guó)際化完全支持多語(yǔ)言應(yīng)用,允許你定義翻譯的字符奖慌,輕松翻譯成不同國(guó)家的語(yǔ)言抛虫。

三、架構(gòu)設(shè)計(jì)

django是一個(gè)基于MVC構(gòu)造的框架简僧,即模型model建椰,視圖view和控制器controller。

但是在django中岛马,控制器接受用戶輸入的部分由框架自行處理棉姐,所以django里更關(guān)注的是模型model、模板template和視圖views啦逆,稱為MTV模式伞矩。它們各自的職責(zé)如下:

從以上表述可以看出Django視圖不處理用戶輸入,而僅僅決定要展現(xiàn)哪些數(shù)據(jù)給用戶夏志,而Django模板 僅僅決定如何展現(xiàn)Django視圖指定的數(shù)據(jù)乃坤。或者說(shuō), Django將MVC中的視圖進(jìn)一步分解為Django視圖 和Django模板兩個(gè)部分沟蔑,分別決定 “展現(xiàn)哪些數(shù)據(jù)” 和 “如何展現(xiàn)”湿诊,使得Django的模板可以根據(jù)需要隨時(shí)替換,而不僅僅限制于內(nèi)置的模板瘦材。

至于MVC控制器部分厅须,由Django框架的URLconf來(lái)實(shí)現(xiàn)。URLconf機(jī)制是使用正則表達(dá)式匹配URL食棕,然后調(diào)用合適的Python函數(shù)九杂。URLconf對(duì)于URL的規(guī)則沒(méi)有任何限制,你完全可以設(shè)計(jì)成任意的URL風(fēng)格宣蠕,不管是傳統(tǒng)的,RESTful的甥捺,或者是另類的抢蚀。框架把控制層給封裝了镰禾,無(wú)非與數(shù)據(jù)交互這層都是數(shù)據(jù)庫(kù)表的讀,寫,刪除,更新的操作.在寫程序的時(shí)候皿曲,只要調(diào)用相應(yīng)的方法就行了唱逢,感覺(jué)很方便。程序員把控制層?xùn)|西交給Django自動(dòng)完成了屋休。 只需要編寫非常少的代碼完成很多的事情坞古。所以,它比MVC框架考慮的問(wèn)題要深一步劫樟,因?yàn)槲覀兂绦騿T大都在寫控制層的程序』痉悖現(xiàn)在這個(gè)工作交給了框架,僅需寫很少的調(diào)用代碼叠艳,大大提高了工作效率奶陈。

MVC:全名Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫附较,一種軟件設(shè)計(jì)典范吃粒,用一種業(yè)務(wù)邏輯、數(shù)據(jù)拒课、界面顯示分離的方法組織代碼徐勃,將業(yè)務(wù)邏輯聚集到一個(gè)部件里面,在改進(jìn)和個(gè)性化定制界面及用戶交互的同時(shí)早像,不需要重新編寫業(yè)務(wù)邏輯僻肖。

通俗解釋:一種文件的組織和管理形式!不要被縮寫嚇到了扎酷,這其實(shí)就是把不同類型的文件放到不同的目錄下的一種方法檐涝,然后取了個(gè)高大上的名字。當(dāng)然法挨,它帶來(lái)的好處有很多谁榜,比如前后端分離,松耦合等等凡纳,就不詳細(xì)說(shuō)明了窃植。

模型(model):定義數(shù)據(jù)庫(kù)相關(guān)的內(nèi)容,一般放在models.py文件中荐糜。

視圖(view):定義HTML等靜態(tài)網(wǎng)頁(yè)文件相關(guān)巷怜,也就是那些html、css暴氏、js等前端的東西延塑。

控制器(controller):定義業(yè)務(wù)邏輯相關(guān),就是你的主要代碼答渔。

MTV:有些WEB框架覺(jué)得MVC的字面意思很別扭关带,就給它改了一下。view不再是HTML相關(guān)沼撕,而是主業(yè)務(wù)邏輯了宋雏,相當(dāng)于控制器芜飘。html被放在Templates中,稱作模板磨总,于是MVC就變成了MTV嗦明。這其實(shí)就是一個(gè)文字游戲,和MVC本質(zhì)上是一樣的蚪燕,換了個(gè)名字和叫法而已娶牌,換湯不換藥。

四邻薯、工作機(jī)制

1.用manage .py runserver啟動(dòng)django服務(wù)器時(shí)就載入了在同一目錄下的settings .py裙戏。該文件包含了項(xiàng)目中的配置信息,如前面講的URLConf等厕诡,其中最重要的配置就是ROOT_URLCONF累榜,它告訴django哪個(gè)python模塊應(yīng)該用作本站的URLConf,默認(rèn)的是urls .py

2.當(dāng)訪問(wèn)url的時(shí)候灵嫌,django會(huì)根據(jù)ROOT_URLCONF的設(shè)置來(lái)裝載URLConf壹罚。

3.然后按順序逐個(gè)匹配URLConf里的URLpatterns。如果找到則會(huì)調(diào)用相關(guān)聯(lián)的視圖函數(shù)寿羞,并把HttpRequest對(duì)象作為第一個(gè)參數(shù)(通常是request)

4.最后該view函數(shù)負(fù)責(zé)返回一個(gè)HttpResponse對(duì)象猖凛。


五、版本選擇

1.5.x支持python 2.6.5 python 2.7, python 3.2和3.3.

1.6.x支持python 2.6.X, 2.7.X, 3.2.X和3.3.X

1.7.x支持python 2.7, 3.2, 3.3,和3.4(注意:Python 2.6不支持了)

1.8.x支持python 2.7, 3.2, 3.3, 3.4和3.5.(長(zhǎng)期支持版本LTS)

1.9.x支持python 2.7, 3.4和3.5.不支持3.3了

?1.10.x支持python 2.7, 3.4和3.5.

1.11.x支持python 2.7, 3.4, 3.5和3.6绪穆,17年4月4號(hào) 已經(jīng)發(fā)布(長(zhǎng)期支持版本LTS)

一般來(lái)說(shuō)辨泳,選擇長(zhǎng)期支持版本比較好。

使用最新版本的問(wèn)題就是玖院,可能要用到的一些第三方插件沒(méi)有及時(shí)更新菠红,無(wú)法正常使用這些三方包。

如果是學(xué)習(xí)难菌,可以選擇目前的django 1.8.x來(lái)進(jìn)行试溯,遇到問(wèn)題也容易找到答案。

如果是正式啟動(dòng)的新項(xiàng)目郊酒,建議用django 1.11.x遇绞,畢竟django 1.9以后admin界面更漂亮些。

六燎窘、搭建開(kāi)發(fā)環(huán)境

安裝虛擬環(huán)境

使用Python進(jìn)行項(xiàng)目開(kāi)發(fā)時(shí)摹闽,由于不同的項(xiàng)目需要,可能會(huì)配置多個(gè)開(kāi)發(fā)環(huán)境褐健,不同開(kāi)發(fā)環(huán)境之間的項(xiàng)目依賴包如果混合在一起钩骇,可能會(huì)引起意想不到的錯(cuò)誤。

通過(guò)虛擬環(huán)境隔離不同開(kāi)發(fā)環(huán)境,方便不同開(kāi)發(fā)環(huán)境的共存倘屹。

#安裝python虛擬環(huán)境

sudo apt-get install virtualenv

#vrtaulenvwrapper是virtualenv的擴(kuò)展包,用于更方便管理虛擬環(huán)境

sudo apt-get install virtualenvwrapper

配置虛擬環(huán)境

此時(shí)還不能使用virtualenvwrapper慢叨,實(shí)際上你需要運(yùn)行virtualenvwrapper.sh文件才行纽匙。

配置步驟如下:

1、查看virtualenvwrapper的安裝路徑

sudo find / -name virtualenvwrapper.sh

2拍谐、創(chuàng)建目錄用來(lái)存放虛擬環(huán)境

mkdir .myvirtualenvs

3烛缔、在? .bashrc中添加行

export WORKON_HOME=/home/yong/.myvirtualenvs

source /usr/share/virtualenvwrapper/virtualenvwrapper.sh

4、運(yùn)行:source? .bashrc

此時(shí)virtualenvwrapper就可以使用了轩拨。


七践瓷、virtualenvwrapper的功能

配置好virtualenvwrapper,就可以使用它的功能亡蓉,方便管理虛擬環(huán)境

workon:列出虛擬環(huán)境列表

lsvirtualenv:列出虛擬環(huán)境列表

mkvirtualenv:新建虛擬環(huán)境

workon [虛擬環(huán)境名稱]:切換/進(jìn)入虛擬環(huán)境

rmvirtualenv :刪除虛擬環(huán)境

deactivate:離開(kāi)虛擬環(huán)境


八晕翠、創(chuàng)建虛擬環(huán)境

進(jìn)入本地虛擬環(huán)境的目錄文件夾

cd? .myvirtualenvs/

創(chuàng)建虛擬環(huán)境 根據(jù)需要選擇3和2

mkvirtualenv -p /usr/bin/python3 ?virtualenv-django

mkvirtualenv -p /usr/bin/python ?virtualenv-django

進(jìn)入虛擬環(huán)境

workon virtualenv-django

查看虛擬環(huán)境中已經(jīng)安裝的包

pip list

pip freeze

九、安裝django

建議安裝1.8.2版本砍濒,這是一個(gè)穩(wěn)定性高淋肾、使用廣、文檔多的版本

1.進(jìn)入虛擬環(huán)境

workon virtualenv-django

2.安裝django

pip install django==1.8.2

3.查看版本

進(jìn)入python shell

import django

django.get_version()

說(shuō)明:使用pip install django命令進(jìn)行安裝時(shí)爸邢,會(huì)自動(dòng)刪除舊版本樊卓,再安裝新版本


十、創(chuàng)建項(xiàng)目

命令django-admin startproject test1

進(jìn)入test1目錄杠河,目錄結(jié)構(gòu)如下圖:

manage.py:一個(gè)命令行工具碌尔,可以使你用多種方式對(duì)Django項(xiàng)目進(jìn)行交互

內(nèi)層的目錄test1:項(xiàng)目的真正的Python包

_init _.py:一個(gè)空文件,它告訴Python這個(gè)目錄應(yīng)該被看做一個(gè)Python包

settings.py:項(xiàng)目的配置

urls.py:項(xiàng)目的URL聲明

wsgi.py:項(xiàng)目與WSGI兼容的Web服務(wù)器入口

十一券敌、設(shè)計(jì)模型

設(shè)計(jì)介紹

本示例完成“圖書(shū)-英雄”信息的維護(hù)唾戚,需要存儲(chǔ)兩種數(shù)據(jù):圖書(shū)、英雄

1.圖書(shū)表結(jié)構(gòu)設(shè)計(jì):

表名:BookInfo

2.圖書(shū)名稱:btitle

3.圖書(shū)發(fā)布時(shí)間:bpub_date

2.英雄表結(jié)構(gòu)設(shè)計(jì)

表名:HeroInfo

5.英雄姓名:hname

[6.英雄性別:hgender

7.英雄簡(jiǎn)介:hcontent

8.所屬圖書(shū):hbook

3.圖書(shū)-英雄的關(guān)系為一對(duì)多

createtable bookinfo(

bidint auto_increment primary key,

btitle varchar(100),

bpubdate date

);

createtable heroinfo(

hidint auto_increment primary key,

hname varchar(100),

hgender bit,

hcontent longtext,

hbook_idint,foreign key(hbook_id) references bookinfo(bid)

);

設(shè)計(jì)成類陪白,外鍵就是設(shè)計(jì)成一個(gè)對(duì)象

數(shù)據(jù)庫(kù)配置

1.在settings.py文件中颈走,通過(guò)DATABASES項(xiàng)進(jìn)行數(shù)據(jù)庫(kù)設(shè)置

2.django支持的數(shù)據(jù)庫(kù)包括:sqlite、mysql等主流數(shù)據(jù)庫(kù)

3.Django默認(rèn)使用SQLite數(shù)據(jù)庫(kù)

1.1.1.創(chuàng)建應(yīng)用

在一個(gè)項(xiàng)目中可以創(chuàng)建一到多個(gè)應(yīng)用咱士,每個(gè)應(yīng)用進(jìn)行一種業(yè)務(wù)處理

創(chuàng)建應(yīng)用的命令:

python manage.py startapp booktest

應(yīng)用的目錄結(jié)構(gòu)如下圖


定義模型類

1.有一個(gè)數(shù)據(jù)表立由,就有一個(gè)模型類與之對(duì)應(yīng)

2.打開(kāi)models.py文件,定義模型類

3.引入包from django.db import models

4.模型類繼承自models.Model類

5.說(shuō)明:不需要定義主鍵列序厉,在生成時(shí)會(huì)自動(dòng)添加锐膜,并且值為自動(dòng)增長(zhǎng)

6.當(dāng)輸出對(duì)象時(shí),會(huì)調(diào)用對(duì)象的str方法

from django.db import models

class BookInfo(models.Model):

??????? btitle = models.CharField(max_length=20)

??????? bpub_date = models.DateTimeField()

def __str__(self):

?????? return "%d" % self.pk


class HeroInfo(models.Model):

???????? hname = models.CharField(max_length=20)

???????? hgender = models.BooleanField()

???????? hcontent = models.CharField(max_length=100)

???????? hBook = models.ForeignKey('BookInfo')

def __str__(self):ls

????????? return "%d" % self.pk

生成數(shù)據(jù)表

1激活模型:編輯settings.py文件弛房,將booktest應(yīng)用加入到installed_apps中


2.生成遷移文件:根據(jù)模型類生成sql語(yǔ)句道盏,遷移文件被生成到應(yīng)用的migrations目錄

python manage.py makemigrations

3.執(zhí)行遷移:執(zhí)行sql語(yǔ)句生成數(shù)據(jù)表

python manage.py migrate

在Python的開(kāi)發(fā)中,遇到了這個(gè)錯(cuò)誤:

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

解決方法如下:

在代碼文件的最上方,添加如下代碼:

import os,django

# project_name項(xiàng)目名稱

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project_name.settings")

django.setup()

原因:

Python啟動(dòng)方式python荷逞,會(huì)啟動(dòng)交互解釋器媒咳,需要告訴Django使用哪個(gè)設(shè)置文件,Django會(huì)搜索DJANGO_SETTINGS_MODULE環(huán)境變量,它被設(shè)置在settings.py中种远,

解決方法:用python manage.py shell來(lái)啟動(dòng)命令解釋器而不是python涩澡,因?yàn)閜ython manage.py shell中包含了Django使用哪個(gè)settings.py文件

1.1.1.6測(cè)試數(shù)據(jù)操作

1.激活進(jìn)入python shell,進(jìn)行簡(jiǎn)單的模型API練習(xí)

python manage.py shell

2.引入需要的包:

from booktest.models import *

from datetime import *

3.單個(gè)對(duì)象的增刪改查

4.關(guān)聯(lián)對(duì)象的操作

引入需要的包:

from booktest.models import *

from datetime import *

**************單個(gè)對(duì)象的操作**************

1坠敷、查詢所有圖書(shū)信息:

BookInfo.objects.all()

2妙同、新建圖書(shū)信息:

b = BookInfo()

b.btitle="射雕英雄傳"

b.bpub_date=datetime(year=1990,month=1,day=10)

b.save()

3、查找圖書(shū)信息:

b=BookInfo.objects.get(pk=1)

輸出圖書(shū)信息:

b

b.id

b.btitle

4膝迎、修改圖書(shū)信息:

b.btitle="天龍八部"

b.save()

5粥帚、刪除圖書(shū)信息:

b.delete()

**************關(guān)聯(lián)對(duì)象的操作**************

1、對(duì)于HeroInfo可以按照下面的操作方式進(jìn)行

添加限次,注意添加關(guān)聯(lián)對(duì)象

h=HeroInfo()

h.htitle=u'郭靖'

h.hgender=True

h.hcontent='降龍十八掌'

h.hbook=b

h.save()

2芒涡、獲得關(guān)聯(lián)集合:返回當(dāng)前book對(duì)象的所有hero

b=BookInfo.objects.get(pk=1)

b.heroinfo_set.all()1、創(chuàng)建項(xiàng)目

django-admin startporject xx

2掂恕、創(chuàng)建app

python manage.py startapp yy

python manage.py startapp cc

3拖陆、將app添加到settting.py? ? INSTALLED_APPS

4、創(chuàng)建sql(不需要實(shí)現(xiàn))

5懊亡、實(shí)體類

6依啰、生成遷移文件

python manage.py makemigrations

7、遷移店枣,生成sql表

python manage.py migrate

8速警、測(cè)試增刪改查

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.mysql',

'NAME': 'mydb',

'USER': 'root',

'PASSWORD': 'root',

'HOST': 'localhost',

'PORT': '3306',

}

}

9、修改實(shí)體類鸯两,重新遷移

建議闷旧,數(shù)據(jù)庫(kù)整個(gè)刪除,再遷移钧唐,避免報(bào)錯(cuò)忙灼。

class BookInfo(models.Model):

btitle = models.CharField(max_length=20)

bpub_date = models.DateTimeField()

def __str__(self):

return "%d" % self.pk

class HeroInfo(models.Model):

hname = models.CharField(max_length=20)

hgender = models.BooleanField()

hcontent = models.CharField(max_length=100)

hBook = models.ForeignKey('BookInfo')

def __str__(self):

return "%d" % self.pk

整理歸納流程:

1、創(chuàng)建項(xiàng)目

django-admin startporject xx

2钝侠、創(chuàng)建app

python manage.py startapp yy

python manage.py startapp cc

3该园、將app添加到settting.py? ? INSTALLED_APPS

4、創(chuàng)建sql(不需要實(shí)現(xiàn))

5帅韧、實(shí)體類 在app里面的models.py操作里初。

class BookInfo(models.Model):

??????? btitle = models.CharField(max_length=20)

??????? bpub_date = models.DateTimeField()

def __str__(self):

???????? return "%d" % self.pk

class HeroInfo(models.Model):

????????? hname = models.CharField(max_length=20)

????????? hgender = models.BooleanField()

????????? hcontent = models.CharField(max_length=100)

????????? hBook = models.ForeignKey('BookInfo')

def __str__(self):

????????? return "%d" % self.pk

6、生成遷移文件 在manage.py這個(gè)當(dāng)前目錄中執(zhí)行忽舟。

python manage.py makemigrations

7双妨、遷移淮阐,生成sql表

python manage.py migrate

8、測(cè)試增刪改查


9刁品、修改實(shí)體類泣特,重新遷移

建議,數(shù)據(jù)庫(kù)整個(gè)刪除挑随,再遷移群扶,避免報(bào)錯(cuò)。




修改settings.py文件下的DATABASES镀裤,添加mysql數(shù)據(jù)庫(kù)。

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.mysql',

'NAME': 'mydb',

'USER': 'root',

'PASSWORD': 'root',

'HOST': 'localhost',

'PORT': '3306',

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末缴饭,一起剝皮案震驚了整個(gè)濱河市暑劝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌颗搂,老刑警劉巖担猛,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異丢氢,居然都是意外死亡傅联,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門疚察,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蒸走,“玉大人,你說(shuō)我怎么就攤上這事貌嫡”茸ぃ” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵岛抄,是天一觀的道長(zhǎng)别惦。 經(jīng)常有香客問(wèn)我,道長(zhǎng)夫椭,這世上最難降的妖魔是什么掸掸? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮蹭秋,結(jié)果婚禮上扰付,老公的妹妹穿的比我還像新娘。我一直安慰自己感凤,他們只是感情好悯周,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著陪竿,像睡著了一般禽翼。 火紅的嫁衣襯著肌膚如雪屠橄。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,764評(píng)論 1 290
  • 那天闰挡,我揣著相機(jī)與錄音锐墙,去河邊找鬼。 笑死长酗,一個(gè)胖子當(dāng)著我的面吹牛溪北,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播夺脾,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼之拨,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了咧叭?” 一聲冷哼從身側(cè)響起蚀乔,我...
    開(kāi)封第一講書(shū)人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎菲茬,沒(méi)想到半個(gè)月后吉挣,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡婉弹,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年睬魂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片镀赌。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡氯哮,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出佩脊,到底是詐尸還是另有隱情蛙粘,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布威彰,位于F島的核電站出牧,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏歇盼。R本人自食惡果不足惜舔痕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望豹缀。 院中可真熱鬧伯复,春花似錦、人聲如沸邢笙。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)氮惯。三九已至叮雳,卻和暖如春想暗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背帘不。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工说莫, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人寞焙。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓储狭,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親捣郊。 傳聞我的和親對(duì)象是個(gè)殘疾皇子辽狈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

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