基于Python語(yǔ)言Django框架的商品管理系統(tǒng)

前言

應(yīng)用程序有兩種模式C/S、B/S焕议。C/S是客戶端/服務(wù)器端程序设哗,也就是說(shuō)這類程序一般獨(dú)立運(yùn)行。而B(niǎo)/S就是瀏覽器端/服務(wù)器端應(yīng)用程序抠蚣,這類應(yīng)用程序一般借助Chrome等瀏覽器來(lái)運(yùn)行。WEB應(yīng)用程序一般是B/S模式履澳。Web應(yīng)用程序首先是“應(yīng)用程序”嘶窄,和用標(biāo)準(zhǔn)的程序語(yǔ)言,如C距贷、C++等編寫(xiě)出來(lái)的程序沒(méi)有什么本質(zhì)上的不同柄冲。然而Web應(yīng)用程序又有自己獨(dú)特的地方,就是它是基于Web的忠蝗,而不是采用傳統(tǒng)方法運(yùn)行的现横。換句話說(shuō),它是典型的瀏覽器/服務(wù)器架構(gòu)的產(chǎn)物阁最。B/S結(jié)構(gòu)能夠很好地應(yīng)用在廣域網(wǎng)上戒祠,成為越來(lái)越多的企業(yè)的選擇。

一個(gè)Web應(yīng)用程序是由完成特定任務(wù)的各種Web組件(web components)構(gòu)成的并通過(guò)Web將服務(wù)展示給外界闽撤。在實(shí)際應(yīng)用中得哆,Web應(yīng)用程序是由多個(gè)模型(model)-視圖(view)-控制器(controller)等組織起來(lái)的代碼組成脯颜,這些組件相互協(xié)調(diào)為用戶提供一組完整的服務(wù)哟旗。

Web應(yīng)用程序?qū)ζ髽I(yè)的重要用途是對(duì)數(shù)據(jù)進(jìn)行處理,管理信息系統(tǒng)(Management Information System,簡(jiǎn)稱MIS)就是這種架構(gòu)最典型的應(yīng)用栋操。MIS可以應(yīng)用于局域網(wǎng)闸餐,也可以應(yīng)用于廣域網(wǎng)》剑基于Internet的MIS系統(tǒng)以其成本低廉舍沙、維護(hù)簡(jiǎn)便、覆蓋范圍廣剔宪、功能易實(shí)現(xiàn)等諸多特性拂铡,得到越來(lái)越多的應(yīng)用。

本文就是嘗試?yán)肞ython語(yǔ)言實(shí)現(xiàn)商品管理系統(tǒng)葱绒,增強(qiáng)對(duì)Web應(yīng)用系統(tǒng)需求感帅、設(shè)計(jì)、開(kāi)發(fā)的知識(shí)和能力地淀。

1緒論

Python已經(jīng)有將近30年的歷史失球,在過(guò)去30年中,Python在運(yùn)維工程師和數(shù)據(jù)科學(xué)家群體中受到廣泛歡迎帮毁,然而卻極少有企業(yè)將Python作為生產(chǎn)環(huán)境的首選語(yǔ)言实苞。在最近幾年豺撑,這一情況有所改變。隨著云計(jì)算黔牵、大數(shù)據(jù)以及人工智能技術(shù)的快速發(fā)展聪轿,Python及其開(kāi)發(fā)生態(tài)環(huán)境正在受到越來(lái)越多的關(guān)注。

互聯(lián)網(wǎng)時(shí)代來(lái)臨后荧止,Python被用來(lái)在Web開(kāi)發(fā)領(lǐng)域進(jìn)行嘗試屹电,涌現(xiàn)出了一批基于Python開(kāi)發(fā)一些WEB的網(wǎng)站,還有不少大型的跃巡、基于Python的網(wǎng)站危号,比如Youtube、豆瓣等網(wǎng)站素邪。使得一些Web開(kāi)源框架迅速成長(zhǎng)外莲,如Django、Flask等兔朦,為程序員高效開(kāi)發(fā)Web程序提供了巨大的幫助偷线。

進(jìn)入了云計(jì)算時(shí)代,基于過(guò)去一段時(shí)間Python在系統(tǒng)管理工具的積累沽甥,以及其本身具備了非常好的系統(tǒng)集成能力声邦,Python在云計(jì)算領(lǐng)域可以說(shuō)大放異彩。最著名的是Python開(kāi)發(fā)的Openstack摆舟。不僅在私有云領(lǐng)域亥曹,在公有云領(lǐng)域,包括AWS恨诱,包括Google云媳瞪,當(dāng)這些公有云提供出SDK的時(shí)候,它們首選的技術(shù)路線依然是Python照宝。

最近兩年又火起來(lái)的人工智能領(lǐng)域蛇受,Python靠著過(guò)去多年在科學(xué)計(jì)算等方面的積累出現(xiàn)了大爆發(fā)。比如圖像識(shí)別用的都是Python OpenCV庫(kù)厕鹃。在深度學(xué)習(xí)領(lǐng)域幾乎沒(méi)有任何其他語(yǔ)言可以跟Python相提并論的兢仰,比如Caffe,Theano剂碴,TesnorFlow把将,Keras這些非常流行的深度學(xué)習(xí)框架,都是以Python為主要開(kāi)發(fā)語(yǔ)言汗茄。事實(shí)證明了在深度學(xué)習(xí)領(lǐng)域目前Python是處于非常主導(dǎo)的地位秸弛。

如上所述,為了能跟上人工智能的潮流,從用戶體驗(yàn)角度递览,從開(kāi)發(fā)者角度來(lái)講叼屠,Python是更好的語(yǔ)言,也是更好的接口語(yǔ)言绞铃,值得我們學(xué)習(xí)和掌握它镜雨。另一方面,考慮到可以用Python集成各種各樣的服務(wù)儿捧,這樣能有效降低成本荚坞,同時(shí)也能夠減輕自己開(kāi)發(fā)團(tuán)隊(duì)的壓力,讓開(kāi)發(fā)團(tuán)隊(duì)能夠減少一些學(xué)習(xí)成本菲盾。

2Django

Django是Python中目前風(fēng)靡的Web Framework,框架能夠幫助我們把程序的整體架構(gòu)搭建好,而我們所需要做的工作就是填寫(xiě)邏輯,而框架能夠在合適的時(shí)候調(diào)用你寫(xiě)的邏輯,而不需要我們自己去調(diào)用邏輯,讓W(xué)eb開(kāi)發(fā)變的更敏捷.

Django是一個(gè)高級(jí)Python Web框架,鼓勵(lì)快速,簡(jiǎn)潔,以程序設(shè)計(jì)的思想進(jìn)行開(kāi)發(fā).通過(guò)使用這個(gè)框架,可以減少很多開(kāi)發(fā)麻煩,使你更專注于編寫(xiě)自己的app,而不需要重復(fù)造輪子. Django免費(fèi)并且開(kāi)源颓影。

2.1Django特點(diǎn)

1)完全免費(fèi)并開(kāi)源源代碼。

2)快速高效開(kāi)發(fā)懒鉴。

3)使用MTV架構(gòu)(熟悉Web開(kāi)發(fā)的應(yīng)該會(huì)說(shuō)是MVC架構(gòu))诡挂。

4)強(qiáng)大的可擴(kuò)展性。

2.2Django工作方式

用戶在瀏覽器中輸入U(xiǎn)RL后的回車,瀏覽器會(huì)對(duì)URL進(jìn)行檢查,首先判斷協(xié)議,如果是http就按照Web來(lái)處理,然互調(diào)用DNS查詢,將域名轉(zhuǎn)換為IP地址,然后經(jīng)過(guò)網(wǎng)絡(luò)傳輸?shù)竭_(dá)對(duì)應(yīng)Web服務(wù)器,服務(wù)器對(duì)url進(jìn)行解析后,調(diào)用View中的邏輯(MTV中的V),其中又涉及到Model(MTV中的M),與數(shù)據(jù)庫(kù)的進(jìn)行交互,將數(shù)據(jù)發(fā)到Template(MTV中的T)進(jìn)行渲染,然后發(fā)送到瀏覽器中,瀏覽器以合適的方式呈現(xiàn)給用戶临谱。

圖2-1工作方式

2.3開(kāi)發(fā)環(huán)境

本文使用的主要開(kāi)發(fā)環(huán)境為:

1)操作系統(tǒng):macOS Sierra 10.12.4

2)開(kāi)發(fā)語(yǔ)言:Python 3.6.1

3)Web框架:Django1.11.1

4)數(shù)據(jù)庫(kù):SQLite3

5)前端框架:Bootstrap3.3.7

6)開(kāi)發(fā)IDE:PycharmCE 2017.1

7)虛擬環(huán)境:Anaconda 4.3.17

8)版本管理:GitHub

2.4安裝Django

使用終端安裝最新版的Django:

conda

install Django

2.5Bootstrap安裝

Bootstrap璃俗,來(lái)自Twitter,是目前最受歡迎的前端框架悉默。Bootstrap是基于HTML城豁、CSS、JAVASCRIPT的抄课,它簡(jiǎn)潔靈活唱星,使得Web開(kāi)發(fā)更加快捷。

從官網(wǎng)下載所需資源剖膳,稍后復(fù)制到開(kāi)發(fā)目錄中:

http://getbootstrap.com/getting-started/#download

圖2-2

BootStrap目錄

3主要功能

3.1功能設(shè)計(jì)

主要功能和設(shè)計(jì)考慮如圖3-1所示:

3.2主要界面

3.2.1首頁(yè)

3.2.2所有商品(分頁(yè))

3.2.3商品詳情

3.2.4管理員登錄頁(yè)

3.2.5商品管理頁(yè)

3.2.6商品添加頁(yè)面

4代碼實(shí)現(xiàn)

從現(xiàn)在開(kāi)始正式的進(jìn)入代碼階段魏颓,簡(jiǎn)述開(kāi)發(fā)過(guò)程岭辣。

4.1創(chuàng)建項(xiàng)目

我們創(chuàng)建一個(gè)名為WebStore的Django項(xiàng)目吱晒,創(chuàng)建項(xiàng)目的指令[1](終端)如下:

django-admin.py

startproject WebStore

文件結(jié)構(gòu)如下:

WebStore

├── manage.py

└── WebStore

├── __init__.py

├── settings.py

├── urls.py

└── wsgi.py

4.2設(shè)置數(shù)據(jù)庫(kù)

DATABASES = {

'default': {

'ENGINE':? ? 'django.db.backends.sqlite3',

'NAME': os.path.join(BASE_DIR,? ? 'db.sqlite3'),

}

}

Django項(xiàng)目建成后,就可以設(shè)置數(shù)據(jù)庫(kù)了。本文默認(rèn)使用SQLite數(shù)據(jù)庫(kù),在WebStore/WebStore/setting.py中可以查看和修改數(shù)據(jù)庫(kù)設(shè)置:

還可以設(shè)置其他數(shù)據(jù)庫(kù),如MySQL, PostgreSQL,現(xiàn)在為了便于發(fā)布和提供老師審核,使用默認(rèn)數(shù)據(jù)庫(kù)設(shè)置沦童。

4.3設(shè)置國(guó)際化

LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

USE_I18N = True

Django支持國(guó)際化仑濒,多語(yǔ)言。Django的國(guó)際化是默認(rèn)開(kāi)啟的偷遗,如果不需要國(guó)際化支持墩瞳,可以在設(shè)置文件中設(shè)置USE_I18N = False,那么Django會(huì)進(jìn)行一些優(yōu)化氏豌,不加載國(guó)際化支持機(jī)制喉酌。在WebStore/WebStore/setting.py修改默認(rèn)的語(yǔ)言和時(shí)區(qū)。

4.4配置靜態(tài)文件

靜態(tài)文件是指網(wǎng)站中的js,css,圖片,視頻等文件泪电,通常在WebStore/WebStore/setting.py中已經(jīng)設(shè)置好了般妙。在WebStore根目錄下創(chuàng)建static文件夾,在static下再創(chuàng)建upload相速、css碟渺、js、image等目錄突诬。

STATIC_URL = '/static/'

STATICFILES_DIRS = [

os.path.join(BASE_DIR, "static"),? ? '/Users/alexmac/Library/Mobile\? ? Documents/com\~apple\~CloudDocs/DEV/WebStore/static/',#物理路徑

]

4.5創(chuàng)建Django app

在Django中的app被認(rèn)為是一個(gè)功能模塊,與其他的web框架可能有很大的區(qū)別,將不通功能放在不同的app中,方便代碼的復(fù)用苫拍。在WebStore目錄下,終端輸入創(chuàng)建app指令:

python

manage.py startapp commodity

WebStore根目錄下旺隙,文件結(jié)構(gòu)如下:

── commodity

│ ├── __init__.py

│ ├── admin.py

│ ├── migrations

│ │ └── __init__.py

│ ├── models.py

│ ├── tests.py

│ └── views.py

├─db.sqlite3

├─manage.py

├─WebStore

├── __init__.py

├── settings.py

├── urls.py

必須在WebStore/WebStore/setting.py下添加新建app

INSTALLED_APPS = (

...

'commodity', #這里填寫(xiě)的是app的名稱

)

4.6創(chuàng)建models

在WebStore/commodity/models.py下編寫(xiě)如下程序:

class? ? Commondity(models.Model):

CommodityName =? ? models.CharField('商品名稱', max_length=100)

CommodityCategory =? ? models.CharField('商品類別', max_length=50,? ? blank=True)

CommodityPrice =? ? models.DecimalField('商品價(jià)格', max_digits=11,? ? decimal_places=2)

CommondityImage =? ? models.ImageField('商品圖片', upload_to='static',? ? default='static/upload/None/no-img.jpg')

CommodityDateTime =? ? models.DateTimeField('登記日期', auto_now_add=True)

CommodityContent = models.TextField('商品說(shuō)明', blank=True, null=True)

CommondityContactMobile =? ? models.CharField('聯(lián)系電話', max_length=11,? ? blank=True, null=True)

def __str__(self):

return? ? self.CommodityName#一般系統(tǒng)默認(rèn)使用來(lái)表示對(duì)象,通過(guò)這個(gè)函數(shù)可以告訴系統(tǒng)使用CommodityName字段來(lái)表示這個(gè)對(duì)象

class Meta:

verbose_name = '商品' #給模型起個(gè)更好聽(tīng)的名字绒极,這兒相當(dāng)于進(jìn)行了漢化。

verbose_name_plural = '所有商品'

#按時(shí)間下降排序

ordering =? ? ['-CommodityDateTime']

4.7運(yùn)行程序

在WebStore根目錄下蔬捷,用終端命令行輸入以下指令:

$ python? ? manage.py runserver#啟動(dòng)Django中的開(kāi)發(fā)服務(wù)器

啟動(dòng)瀏覽器,輸入http://127.0.0.1:8000/,就可以訪問(wèn)網(wǎng)站了集峦。

4.8同步數(shù)據(jù)庫(kù)

在WebStore根目錄下,用終端命令行輸入以下指令:

python

manage.py migrate #同步在model中建立的數(shù)據(jù)庫(kù)

如果對(duì)model進(jìn)行了修改抠刺,需要先執(zhí)行一次makemigrations命令塔淤,再執(zhí)行migrae。

python

manage.py makemigrations #先檢查更新

4.9設(shè)置Admin

Django有一個(gè)優(yōu)秀的特性,內(nèi)置了Django admin后臺(tái)管理界面,方便管理者進(jìn)行添加和刪除網(wǎng)站的內(nèi)容.新建的項(xiàng)目系統(tǒng)已經(jīng)為我們?cè)O(shè)置好了后臺(tái)管理功能速妖,可以在WebStore/WebStore/setting.py中查看高蜂。

在WebStore/commodity/admin.py中增加代碼,讓后臺(tái)管理界面能對(duì)“商品”信息進(jìn)行管理罕容。默認(rèn)管理界面中僅顯示上面這是的“CommodityName”备恤,為更方便的在后臺(tái)管理信息,需要增加一些一些代碼锦秒。具體的如下:

from? ? django.contrib import admin

from commodity.models? ? import Commondity

class? ? AdminCommondity(admin.ModelAdmin):

list_display =? ? ('CommodityName','CommodityCategory','CommodityPrice','CommodityDateTime')#后臺(tái)顯示的列表內(nèi)容

search_fields = ('CommodityName',? ? 'CommodityCategory',)#從哪些字段中搜索

list_filter =? ? ('CommodityCategory','CommodityDateTime',)#篩選器

admin.site.register(Commondity,AdminCommondity)

4.10創(chuàng)建超級(jí)用戶

初次登陸后臺(tái)管理界面露泊,需要使用如下命令賬號(hào)創(chuàng)建超級(jí)用戶:

python

manage.py createsuperuser

按照提示輸入用戶名、郵箱旅择、密碼惭笑,創(chuàng)建第一個(gè)超級(jí)用戶。

4.11編寫(xiě)template

在commodity目錄下創(chuàng)建template目錄生真,在template下增加base.html,做為本文程序的基礎(chǔ)模版沉噩。模版樣式采用Bootstrap樣式表。

4.12編寫(xiě)首頁(yè)和商品展示頁(yè)(模板)

用{% extends "base.html" %}引入模版頁(yè)面柱蟀,增加需要展示商品的相關(guān)代碼川蒙。

首頁(yè)為index.html。<代碼見(jiàn)附錄>

商品展示頁(yè)為post.html长已。<代碼見(jiàn)附錄>

4.13完善Views

通常訪問(wèn)網(wǎng)頁(yè)程序的邏輯是:request進(jìn)來(lái)->從服務(wù)器獲取數(shù)據(jù)->處理數(shù)據(jù)->把網(wǎng)頁(yè)呈現(xiàn)出來(lái)畜眨,Django也是按照這個(gè)流程來(lái)處理信息的昼牛,它使用url和views來(lái)處理:

1)url設(shè)置相當(dāng)于客戶端向服務(wù)器發(fā)出request請(qǐng)求的入口,并用來(lái)指明要調(diào)用的程序邏輯.

2)views用來(lái)處理程序邏輯,然后呈現(xiàn)到template(一般為GET方法, POST方法略有不同)。

3)template一般為html+CSS的形式,主要是呈現(xiàn)給用戶的表現(xiàn)形式康聂。

Django中views里面的代碼就是一個(gè)一個(gè)函數(shù)邏輯,處理客戶端(瀏覽器)發(fā)送的HTTPRequest,然后返回HTTPResponse匾嘱。我們?cè)赪ebStore/commodity/views.py中編寫(xiě)簡(jiǎn)單的邏輯:

from? ? django.http import HttpResponse

from? ? commodity.models import Commondity

from? ? datetime import datetime

from? ? django.http import Http404

from? ? django.shortcuts import render

from? ? django.core.paginator import PageNotAnInteger, Paginato

def

list(request):#系統(tǒng)默認(rèn)的Paginator

limit = 3#每頁(yè)顯示的記錄數(shù)

post_list = Commondity.objects.all()#獲取全部對(duì)象

paginator = Paginator(post_list,? ? limit)#實(shí)例化一個(gè)分頁(yè)對(duì)象

page = request.GET.get('page')#獲取頁(yè)碼

try:

post_list =? ? paginator.page(page)#獲取某頁(yè)對(duì)應(yīng)的記錄

except PageNotAnInteger:#如果頁(yè)碼不是個(gè)整數(shù)

post_list = paginator.page(1)#取第一頁(yè)的記錄

except EmptyPage:#如果頁(yè)碼太大,沒(méi)有相應(yīng)的記錄

post_list =? ? paginator.page(paginator.num_pages)#取最后一頁(yè)的記錄

return render(request,'list.html',? ? {'post_list': post_list})

def? ? index(request):

post_index = Commondity.objects.all()[:8]#獲取全部對(duì)象,僅顯示前8條數(shù)據(jù)

return? ? render(request,'index.html',{'post_index':post_index})

def? ? detail(request, id):

try:

post =? ? Commondity.objects.get(id=str(id))

except Commondity.DoesNotExist:

raise Http404

return render(request, 'post.html',? ? {'post': post})

4.14實(shí)現(xiàn)分頁(yè)(模板)

用{% extends "base.html" %}引入模版頁(yè)面早抠,增加需要展示商品的相關(guān)代碼霎烙。

在views.py中使用pagination,實(shí)現(xiàn)簡(jiǎn)單分頁(yè)蕊连。<代碼見(jiàn)附錄>

商品展示頁(yè)為post.html悬垃。<代碼見(jiàn)附錄>

4.15完善url

如何使這個(gè)邏輯在http請(qǐng)求進(jìn)入時(shí),被調(diào)用呢,這里需要WebStore/WebStore/urls.py中進(jìn)行url設(shè)置,設(shè)置了訪問(wèn)主頁(yè)(list.html)和商品詳情頁(yè)面(post.html)甘苍。代碼如下:

from? ? django.conf.urls import url,include

from? ? django.contrib import admin

from

commodity import views #1.8以上新的寫(xiě)法

urlpatterns? ? = (

url(r'^admin/', admin.site.urls),

url(r'^$',? ? views.index,name='index'),# alex:1.8以上新的寫(xiě)法

url(? ? r'^(?P\d+)/$',views.detail, name='detail'),

url(r'^list/$',views.list),

)

參考文獻(xiàn)

Django官方網(wǎng)站:https://docs.djangoproject.com/en/1.11/

Django基礎(chǔ)教程:http://code.ziqiangxuetang.com/django/django-tutorial.html

[1]在windows下可以使用django-admin

startproject WebStore的命令尝蠕,無(wú)py后綴。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末载庭,一起剝皮案震驚了整個(gè)濱河市看彼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌囚聚,老刑警劉巖靖榕,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異顽铸,居然都是意外死亡茁计,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)谓松,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)星压,“玉大人,你說(shuō)我怎么就攤上這事鬼譬∧缺欤” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵优质,是天一觀的道長(zhǎng)竣贪。 經(jīng)常有香客問(wèn)我,道長(zhǎng)盆赤,這世上最難降的妖魔是什么贾富? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任歉眷,我火速辦了婚禮牺六,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘汗捡。我一直安慰自己淑际,他們只是感情好畏纲,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著春缕,像睡著了一般盗胀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上锄贼,一...
    開(kāi)封第一講書(shū)人閱讀 48,970評(píng)論 1 284
  • 那天票灰,我揣著相機(jī)與錄音,去河邊找鬼宅荤。 笑死屑迂,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的冯键。 我是一名探鬼主播惹盼,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼惫确!你這毒婦竟也來(lái)了手报?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤改化,失蹤者是張志新(化名)和其女友劉穎掩蛤,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體陈肛,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡盏档,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了燥爷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜈亩。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖前翎,靈堂內(nèi)的尸體忽然破棺而出稚配,到底是詐尸還是另有隱情,我是刑警寧澤港华,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布道川,位于F島的核電站,受9級(jí)特大地震影響立宜,放射性物質(zhì)發(fā)生泄漏冒萄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一橙数、第九天 我趴在偏房一處隱蔽的房頂上張望尊流。 院中可真熱鬧,春花似錦灯帮、人聲如沸崖技。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)迎献。三九已至瞎访,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間吁恍,已是汗流浹背扒秸。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留冀瓦,地道東北人鸦采。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像咕幻,于是被迫代替她去往敵國(guó)和親渔伯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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