django-喝茶開(kāi)門(?_?)

Python Web開(kāi)發(fā)Django-01

一嗤练、基礎(chǔ)知識(shí)

  • C/S與B/S
  • django框架
  • MVC
  • django的MTV

二潘拨、項(xiàng)目構(gòu)建

  • 環(huán)境
  • 搭建項(xiàng)目
  • 啟動(dòng)服務(wù)器
  • django請(qǐng)求流程

三、項(xiàng)目目錄結(jié)構(gòu)

四、自定義路由與請(qǐng)求處理函數(shù)

作業(yè)

一、基礎(chǔ)知識(shí)

C/S與B/S

  • C: Client 客戶端
  • B: Browser 瀏覽器
  • S: Server 服務(wù)器

瀏覽器是最常見(jiàn)的客戶端炫隶,幾乎所有平臺(tái)上(安卓,Ios阎曹,Windows伪阶,MacOS,Linux芬膝,樹(shù)莓派等嵌入設(shè)備)都有瀏覽器望门。

單機(jī)到客戶端與服務(wù)器,發(fā)展歷史

HTTP

超文本傳輸協(xié)議(HTTP,HyperText Transfer Protocol) 是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議锰霜〕镂螅互聯(lián)網(wǎng)從傳輸簡(jiǎn)單問(wèn)文字,網(wǎng)頁(yè)只包含文字癣缅,到包含多媒體厨剪。
目前使用的版本是HTTP 1.1

URL

統(tǒng)一資源定位符哄酝,用于定位網(wǎng)絡(luò)上某個(gè)資源,通過(guò)URL可以訪問(wèn)到對(duì)應(yīng)的網(wǎng)絡(luò)資源祷膳。

常見(jiàn)格式:scheme://domain/path

  • scheme:協(xié)議陶衅,例如:http、https直晨、ftp
  • domain:服務(wù)器地址搀军,格式:域名或者IP:端口號(hào)。例如:127.0.0.1:8000勇皇;www.baidu.com
  • path:資源路徑罩句,指明要訪問(wèn)的資源在服務(wù)器上的位置。例如:/images/logo.png

類似于電話號(hào)碼敛摘,通過(guò)電話號(hào)碼找到某個(gè)人门烂,電話號(hào)碼具有一定的格式

服務(wù)器處理請(qǐng)求的流程

請(qǐng)求-->路由-->業(yè)務(wù)處理函數(shù)-->數(shù)據(jù)庫(kù)-->網(wǎng)頁(yè)-->返回給客戶端

django框架

地址:https://www.djangoproject.com/

  • 從2005初步完成,是開(kāi)源框架
  • 重量級(jí)的python Web開(kāi)發(fā)框架兄淫,內(nèi)置了大量的模塊工具
  • 使用的是MVC的設(shè)計(jì)思想

MVC

分工合作:蓋房子屯远,砌墻工,和水泥捕虽,磚頭供應(yīng)
web開(kāi)發(fā)中類似于蓋房子慨丐,但是分為數(shù)據(jù)模型,視圖薯鳍,控制器

全名是Model View Controller咖气。是一種軟件設(shè)計(jì)思想挨措,用于將業(yè)務(wù)邏輯挖滤、數(shù)據(jù)、界面顯示分離浅役。

  • model 模型:用于管理業(yè)務(wù)數(shù)據(jù)斩松,例如:數(shù)據(jù)庫(kù)的增刪改查
  • view 視圖:用于顯示業(yè)務(wù)數(shù)據(jù)
  • controller 控制器:用于從視圖中獲取數(shù)據(jù),以及向model中發(fā)送數(shù)據(jù)觉既,控制數(shù)據(jù)在視圖中的展示

MVT

django使用的是MVC思想惧盹。使用MTV方式來(lái)實(shí)現(xiàn)MVC思想:

  • M:model 數(shù)據(jù)層,用戶處理數(shù)據(jù)庫(kù)操作
  • T:template 視圖模板瞪讼,用于顯示數(shù)據(jù)
  • V:view 控制器钧椰,用處理用戶請(qǐng)求,返回響應(yīng)數(shù)據(jù)符欠。

二嫡霞、項(xiàng)目構(gòu)建

環(huán)境

ubuntu 16.04+python3 或者 MacOS 10+

安裝虛擬環(huán)境

# 更新軟件
sudo apt-get update

# 安裝python3
sudo apt-get install python3

# 安裝python3 pip
sudo apt-get install python3-pip

# 切換到home目錄下
cd ~
mkdir DjangoProjects
cd DjangoProjects

# python虛擬換件管理工具
sudo pip3 install virtualenv

# 創(chuàng)建虛擬環(huán)境
virtualenv -p python3 .djenv

# 啟動(dòng)虛擬環(huán)境
source ~/DjangoProjects/.djenv/bin/activate

# 退出虛擬環(huán)境
deactivate
# 配置啟動(dòng)虛擬環(huán)境命令別名
vim ~/.bashrc
# 尾部添加
# alias djenv=‘source ~/home/u/DjangoProjects/.djenv/bin/activate’
# 啟動(dòng)虛擬環(huán)境
djenv
# 安裝django庫(kù)
pip install django==1.11

# 安裝pylint-django
pip install pylint-django

# 查看已經(jīng)安裝的包
pip freeze

# 新建項(xiàng)目
django-admin startproject Django01
# 啟動(dòng)服務(wù)器
cd Django01
./manage.py runserver
# 打開(kāi)瀏覽器訪問(wèn) 127.0.0.1:8000

四、項(xiàng)目目錄結(jié)構(gòu)

Django01/
    manage.py
    Django01/
        __init__.py
        settings.py
        urls.py
        wsgi.py

Django01項(xiàng)目文件夾

  • manage.py:所有的django項(xiàng)目中默認(rèn)都會(huì)創(chuàng)建這個(gè)文件希柿,它是django項(xiàng)目的命令行管理工具诊沪。
  • Django01/Django01是一個(gè)python包养筒,
  • Django01/Django01/__init__.py 是一個(gè)空文件,用戶指明這個(gè)文件夾是python包
  • Django01/Django01/settings.py 項(xiàng)目的相關(guān)配置信息
  • Django01/Django01/urls.py 路由配置文件
  • Django01/Django01/wsgi.py 項(xiàng)目部署時(shí)用到的文件

settings配置信息

  • DEBUG:開(kāi)發(fā)環(huán)境下始終為True端姚,只有在項(xiàng)目部署到生產(chǎn)環(huán)境時(shí)改為False
  • ALLOWED_HOSTS:允許被訪問(wèn)的主機(jī)
  • INSTALLED_APPS:需要安裝的應(yīng)用晕粪,django中自帶了了一些應(yīng)用已經(jīng),創(chuàng)建應(yīng)用后渐裸,要把應(yīng)用的名稱加入到這里
  • ROOT_URLCONF:根路由文件
  • TEMPLATES:模板引擎配置信息
  • DATABASES:數(shù)據(jù)庫(kù)配置信息

Django請(qǐng)求流程

請(qǐng)求-->路由-->處理函數(shù)-->數(shù)據(jù)庫(kù)操作-->渲染模板-->返回響應(yīng)數(shù)據(jù)

類似于一家門廠巫湘。客戶:想要買門昏鹃。接單客服:接待客戶剩膘。庫(kù)房:找到對(duì)應(yīng)的門∨韫耍客服安排發(fā)貨怠褐。

  • 請(qǐng)求由客戶端發(fā)起
  • 路由負(fù)責(zé)對(duì)客戶端發(fā)起的請(qǐng)求進(jìn)行解析,找到對(duì)應(yīng)的處理函數(shù)

新建應(yīng)用

./manage.py startapp MyApp

MyApp/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py
  • admin.py:django自帶的后臺(tái)管理工具的相關(guān)配置
  • apps.py:這個(gè)應(yīng)該相關(guān)配置信息
  • migrations/ :數(shù)據(jù)庫(kù)遷移文件目錄
  • models.py:存放數(shù)據(jù)模型
  • tests.py:測(cè)試文件
  • views.py:視圖處理函數(shù)文件

五、創(chuàng)建請(qǐng)求處理函數(shù)并綁定路由

在views新建視圖處理函數(shù)

視圖處理函數(shù)格式

def hello_world(request):
    # 處理過(guò)程
    return HttpResponse('')

第一個(gè)參數(shù)必須是request您宪,并且每一個(gè)處理函數(shù)必須返回一個(gè)HttpResponse對(duì)象

綁定路由

from MyApp.views import hello_wolrd

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^hello_world$', hello_world),
]

路由格式:url(正則匹配奈懒,處理函數(shù)名)

瀏覽器中訪問(wèn)

127.0.0.1:8000/hello_world

子路由

園區(qū)-->樓-->幾層

或者一家公司,前臺(tái)-->分機(jī)號(hào)-->人

from django.conf.urls import include
from MyApp.views import hello_wolrd
from MyApp import urls as myapp_urls

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^hello_world/', include(myapp_urls)),
]

Python Web開(kāi)發(fā)Django-02

一宪巨、ORM是什么

  • 數(shù)據(jù)表
  • 面向?qū)ο?/li>
  • 對(duì)應(yīng)關(guān)系

二磷杏、在django中如何構(gòu)建映射關(guān)系

  • 構(gòu)建對(duì)應(yīng)的model
  • 配置數(shù)據(jù)庫(kù)
  • 遷移數(shù)據(jù)

三、常用字段

  • 普通字段
  • 關(guān)聯(lián)字段

四捏卓、ORM的使用

  • 簡(jiǎn)單操作
  • 復(fù)雜操作
    • 關(guān)聯(lián)數(shù)據(jù)
    • 數(shù)據(jù)查詢
    • 數(shù)據(jù)更新
    • 數(shù)據(jù)刪除

作業(yè)

一极祸、ORM是什么

ORM 對(duì)象關(guān)系映射,用于實(shí)現(xiàn)面向?qū)ο缶幊陶Z(yǔ)言里不同類型系統(tǒng)的數(shù)據(jù)之間的轉(zhuǎn)換怠晴。

數(shù)據(jù)操作請(qǐng)求-->ORM-->數(shù)據(jù)庫(kù)(mysql,oracle,mssql,sqlite3...)

不同數(shù)據(jù)庫(kù)語(yǔ)法有差別,支持的功能不同

數(shù)據(jù)庫(kù)表

  • 表名
  • 字段
  • 數(shù)據(jù)記錄

面向?qū)ο?/h3>
  • 類名
  • 屬性
  • 對(duì)象

結(jié)合起來(lái)

類名<--->表名

類屬性<---->表字段

對(duì)象<---->數(shù)據(jù)記錄

django中通過(guò)操作類和對(duì)象來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)表以及記錄的操作

二遥金、在django中如何構(gòu)建映射關(guān)系

構(gòu)建類與數(shù)據(jù)表的對(duì)應(yīng)關(guān)系:構(gòu)建model類-->生成遷移文件-->執(zhí)行遷移

構(gòu)建model

在MyApp下model.py中新增類,繼承自django.db.models.Model

class Student(models.Model):
    pass 

這里的Student對(duì)應(yīng)的是一張數(shù)據(jù)庫(kù)表蒜田。

為Student類添加屬性稿械,對(duì)應(yīng)數(shù)據(jù)表的字段

class ClassRoom(models.Model):
    name= models.CharField(max_length=32)

數(shù)據(jù)表字段由字段名、字段類型冲粤、字段屬性組成

name-->字段名美莫、model.CharField-->字段類型max_length=32-->字段屬性

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

安裝mysql數(shù)據(jù)庫(kù)

安裝mysql數(shù)據(jù)庫(kù):sudo apt-get install mysql-server

創(chuàng)將數(shù)據(jù)庫(kù)用戶grant all on *.* to 'django'@'%' identified by 'djangopwd';

創(chuàng)建數(shù)據(jù)庫(kù) create database django01 character set=utf8;

安裝連接mysql庫(kù)

  • sudo apt-get install python3-dev libmysqlclient-dev
  • pip install mysqlclient

在settings.py中修改默認(rèn)的數(shù)據(jù)庫(kù)

django默認(rèn)的數(shù)據(jù)庫(kù)是sqlite

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'django01',#數(shù)據(jù)庫(kù)名
        'USER': 'django',#數(shù)據(jù)庫(kù)用戶名
        'PASSWORD': 'djangopwd',#數(shù)據(jù)庫(kù)用戶密碼
        'HOST': 'localhost',#數(shù)據(jù)庫(kù)地址
        "PORT": '3306'#數(shù)據(jù)庫(kù)端口號(hào)
    }
}

遷移數(shù)據(jù)

# 生成遷移文件梯捕,生成的遷移文件在MyApp/migrations/下
./manage.py makemigrations MyApp
# 執(zhí)行遷移
./manage.py migrate

三厢呵、字段

普通字段

  • AutoField:自增長(zhǎng)字段
  • CharField:字符串
  • IntegerField:整數(shù)
  • BooleanField:布爾
  • TextField:大文本
  • DateField:日期
  • DateTimeField:日期時(shí)間
  • FloatField:浮點(diǎn)

關(guān)聯(lián)字段

  • ForeignKey 多對(duì)一
  • ManyToManyField 多對(duì)多
  • OneToOneField 一對(duì)一 是特殊的多對(duì)一關(guān)系

通用字段屬性

  • null:默認(rèn)是False,數(shù)據(jù)庫(kù)中該字段是否可以為null
  • db_index:默認(rèn)False傀顾,表示該字段是否構(gòu)建索引
  • primary_key:默認(rèn)False襟铭,是否主鍵
  • unique:默認(rèn)False,該字段的值是否不能有重復(fù)
  • default:字段的默認(rèn)值
  • blank:默認(rèn)為False,通常使用在char或text類型上蝌矛,表示是否可以存儲(chǔ)''道批,它與null不同,null是數(shù)據(jù)庫(kù)級(jí)別限制入撒,blank是業(yè)務(wù)上的限制
  • help_text:幫助說(shuō)明信息
  • choices: 接受一個(gè)遍歷對(duì)象,對(duì)象中每一個(gè)元素是一個(gè)2位元素的元組隆豹;該字段的值只能從給出的列表中選一個(gè),元組中第一個(gè)元素是保存到數(shù)據(jù)庫(kù)中茅逮,第二個(gè)元素只是一個(gè)別名璃赡,例如:
gender_choices = ( 
    ('male', '男'), 
    ('female', '女'), 
)
  • db_cloumn:數(shù)據(jù)表字段名,默認(rèn)情況下是屬性名

關(guān)聯(lián)字段屬性

ForeignKey與OneToOneField:

  • on_delete:
    • models.CASCADE:級(jí)聯(lián)刪除献雅,當(dāng)主鍵刪除時(shí)碉考,所有關(guān)聯(lián)的數(shù)據(jù)全部刪除
    • models.PROTECT:保護(hù),當(dāng)刪除主鍵時(shí)挺身,假如還有關(guān)聯(lián)數(shù)據(jù)侯谁,那么拋出異常
    • models.SET_NULL:主鍵刪除時(shí),將該字段設(shè)置為null
    • models.SET_DEFAULT:設(shè)置為默認(rèn)值章钾,但是必須在定義字段是給出默認(rèn)值
    • models.SET():使用函數(shù)的返回值作為字段值
    • models.DO_NOTHING:什么都不做

使用ORM管理數(shù)據(jù)

每一個(gè)類都有一個(gè)默認(rèn)的屬性:objects墙贱,他是一個(gè)管理器

django中執(zhí)行數(shù)據(jù)庫(kù)操作需要通過(guò),類的屬性objects執(zhí)行

簡(jiǎn)單操作

創(chuàng)建數(shù)據(jù)

兩種方式創(chuàng)建一條數(shù)據(jù)

obj=ClassRoom()
obj.attr=value
obj.save()

創(chuàng)建一個(gè)類對(duì)象贱傀,對(duì)象屬性賦值惨撇,執(zhí)行保存

數(shù)據(jù)更新

obj.attr=value
obj.save()

更新對(duì)象屬性,執(zhí)行保存

查詢數(shù)據(jù)

ClassRoom.objects.get()

刪除數(shù)據(jù)

obj.delete

復(fù)雜操作

關(guān)聯(lián)關(guān)系數(shù)據(jù)創(chuàng)建

一對(duì)一

多對(duì)一

多對(duì)多

數(shù)據(jù)查詢

字段特殊查詢

  • age__lt=10: ==== where age < 10
  • age__lte=10: ==== where age <= 10
  • age__gt=10: ==== where age > 10
  • age__gte=10: ==== where >= 10
  • name__contains='tom': ==== where name like '%tom%'
  • name__icontains='tom': ==== where name ilike '%tom%'
  • name__startswith='tom': ==== where name like 'tom%'
  • name__istartswith='tom': ==== where name ilike 'tom%'
  • name__endswith='tom': ==== where name like '%tom'
  • name__iendswith='tom': ==== where name ilike '%tom'
  • age__in=[20,25,28]: ====where age in (20,25,28)
  • street__isnull=True: ==== where steert is null

字段關(guān)聯(lián)查詢

  • classroom__name='1801': ==== WHERE blog.name='1801'
  • classroom__name__contains='1801': ==== WHERE blog.name like '%1801%'

定義屬性字段時(shí),不可以使用包含__的名字

Q

命名參數(shù)查詢對(duì)應(yīng)到數(shù)據(jù)查詢時(shí),使用的是 and邏輯府寒。如果要使用ornot魁衙,那么需要借助于Q

Q實(shí)現(xiàn)or

ClassRoom.objects.filter(name='1801',Q(bodys__gt=20)|Q(girls__lt=5))

Q實(shí)現(xiàn)not

ClassRoom.objects.filter(~Q(girls__lt=5))

F

F可以實(shí)現(xiàn)一條數(shù)據(jù)內(nèi)部字段的比較,比如:

ClassRoom.objects.filter(girls__gt=F('boys'))

聚合查詢

  • 平均值 Avg
  • 最大值 Max
  • 最小值 Min
  • 數(shù)量 Count
    Student.objects.aggregate(Avg('age'))

更新多條數(shù)據(jù)

ClassRoom.objects.filter(...).update(...)

刪除多條數(shù)據(jù)

ClassRoom.objects.filter(...).delete()

Python Web開(kāi)發(fā)Django-03

ORM補(bǔ)充

  • 關(guān)聯(lián)數(shù)據(jù)的讀取
    • 主表讀取從表
    • 從表讀取主表

模板引擎

  • 模板引擎原理
  • 實(shí)現(xiàn)一個(gè)簡(jiǎn)單的模板引擎
  • 如何使用django自帶的模板引擎
  • django模板引擎調(diào)用過(guò)程

模板引擎語(yǔ)法

  • 模板構(gòu)成
  • 注釋
  • 變量打印
  • 條件判斷
  • 循環(huán)
  • 乘除法
  • 轉(zhuǎn)義
  • 過(guò)濾標(biāo)簽
  • 靜態(tài)資源
  • 繼承與block
  • 包含

ORM補(bǔ)充

一對(duì)一

主--->從
mobj.字段名 例如:student.desktop讀取的是DeskTop對(duì)象

從--->主
sojb-->主類名小寫 例如: desktop.student 讀取的是Student對(duì)象

多對(duì)一

主-->從
mobj.字段名 例如:student.classroom讀取的是一個(gè)ClassRoom對(duì)象

從-->主
sobj-->主類名小寫__set.過(guò)濾函數(shù) 例如:classroom1.student_set.all()

多對(duì)多

主-->從
mobj.字段名.過(guò)濾函數(shù) 例如:author.book.all()讀取的是一個(gè)數(shù)據(jù)集合對(duì)象

從-->主
sobj-->主類名小寫__set.過(guò)濾函數(shù) 例如:book.author_set.all()

模板引擎

模板引擎原理

模板包含兩個(gè)部分:靜態(tài)數(shù)據(jù)+動(dòng)態(tài)數(shù)據(jù)

構(gòu)建特殊的文件,文件內(nèi)容包含特殊的字符,使用處理函數(shù)將特殊字符替換成其他數(shù)據(jù)

使用函數(shù)實(shí)現(xiàn)字符串替換

s='''用戶名:name;年齡:age'''
def render(name,age):
    result = s.replace('name',str(name)).replace('age',str(age))
    return result

如何使用django自帶的模板

django自帶的模板引擎執(zhí)行流程:加載模板,導(dǎo)入?yún)?shù),模板渲染

模板引擎配置

函數(shù)中調(diào)用模板引擎

模板語(yǔ)法

網(wǎng)頁(yè)模板包含兩個(gè)部分:網(wǎng)頁(yè)原始內(nèi)容+模板語(yǔ)法

注釋

網(wǎng)頁(yè)原始注釋: ``

單行注釋: {# 注釋內(nèi)容 #}

多行注釋: {% comment %} 注釋內(nèi)容 {% endcomment %}

變量打印

{{變量名}}

條件判斷

{% if xxx %}
{% elif xxx %}
{% else %}
{% endif %}

{% ifequal a b %}
{% endifequal%}

{% ifnotequal a b %}
{% endifnotequal%}

循環(huán)

{% for item in items %}
{% endfor %}

{% for item in items %}
{% empty %} 
{% endfor %}

乘除法

django模板引擎不能夠直接使用變量的相乘以及相除

{% widthratio 數(shù)值變量 分母 分子 %}

轉(zhuǎn)義

{% autoescape off|on %}

{% endautoescape %}

過(guò)濾標(biāo)簽

  • safe:不對(duì)變量數(shù)據(jù)進(jìn)行轉(zhuǎn)義
  • join:把元素連接起來(lái),相當(dāng)于 ''.join(var)
  • length:獲取變量的長(zhǎng)度 相當(dāng)于 len(var)

靜態(tài)資源

配置django靜態(tài)文件夾路徑
STATICFILES_DIRS=[os.path.join(BASE_DIR,'static_path')]

模板中使用{% load static %} {% static 資源位置 %}

繼承

{% extends 父模板名稱 %}

{% block block_name %} {% endblock %}

包含

{% include 模板名稱 %}

Python Web開(kāi)發(fā)Django-04

課程內(nèi)容

路由規(guī)則

  • 固定位置參數(shù)
  • 命名參數(shù)

請(qǐng)求與響應(yīng)

  • 請(qǐng)求
  • 響應(yīng)

路由規(guī)則

給函數(shù)傳遞參數(shù)常用方式:func(arg1,arg2,arg3...),func(key=value,key2=value2,key3=value3...)

固定位置參數(shù)

url(r'path/(\d{4})/(\d{1,2})/(\d{1,2})',view_name)

view_name(request,arg1,arg2,arg3)

命名參數(shù)

url(r'path/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})',view_name)

view_name(request,month,day,year)

請(qǐng)求與響應(yīng)

請(qǐng)求

request是HttpRequest對(duì)象,包含用戶請(qǐng)求的所有信息

屬性

  • GET:字典類型,包含的是url中包含的請(qǐng)求參數(shù)
  • POST:字典類型,如果與post方式上傳一個(gè)表單數(shù)據(jù),上傳的表單數(shù)據(jù)保存在request.POST中
  • FILES:字典類型,如果客戶端通過(guò)表單上傳了文件,那么文件信息保存在request.FILES中
  • method:客戶端使用的請(qǐng)求方法
  • scheme:客戶端請(qǐng)求使用的協(xié)議
  • path:客戶端請(qǐng)求的路徑
  • encoding:客戶端數(shù)據(jù)使用的編碼
  • content_type:客戶端上傳數(shù)據(jù)所使用的數(shù)據(jù)格式,常見(jiàn):application/json; multipart/form-data;
  • COOKIES:字典格式,客戶端請(qǐng)求所帶的cookie
  • META:包含請(qǐng)求頭

方法

  • read:讀取請(qǐng)求體
  • is_ajax:判斷是否是ajax
  • is_secure:判斷是否是使用HTTPS協(xié)議

響應(yīng)

每一個(gè)函數(shù)的返回值必須是一個(gè)HttpResponse對(duì)象

構(gòu)造函數(shù)常用參數(shù):

  • content:響應(yīng)體
  • content_type:響應(yīng)體數(shù)據(jù)類型,例如:application/json
  • status:響應(yīng)的狀態(tài)碼
  • reason:狀態(tài)碼說(shuō)明
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末株搔,一起剝皮案震驚了整個(gè)濱河市剖淀,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌邪狞,老刑警劉巖祷蝌,帶你破解...
    沈念sama閱讀 222,807評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異帆卓,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)米丘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門剑令,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人拄查,你說(shuō)我怎么就攤上這事吁津。” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 169,589評(píng)論 0 363
  • 文/不壞的土叔 我叫張陵碍脏,是天一觀的道長(zhǎng)梭依。 經(jīng)常有香客問(wèn)我,道長(zhǎng)典尾,這世上最難降的妖魔是什么役拴? 我笑而不...
    開(kāi)封第一講書人閱讀 60,188評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮钾埂,結(jié)果婚禮上河闰,老公的妹妹穿的比我還像新娘。我一直安慰自己褥紫,他們只是感情好姜性,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,185評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著髓考,像睡著了一般部念。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上氨菇,一...
    開(kāi)封第一講書人閱讀 52,785評(píng)論 1 314
  • 那天印机,我揣著相機(jī)與錄音,去河邊找鬼门驾。 笑死射赛,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的奶是。 我是一名探鬼主播楣责,決...
    沈念sama閱讀 41,220評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼聂沙!你這毒婦竟也來(lái)了秆麸?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 40,167評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤及汉,失蹤者是張志新(化名)和其女友劉穎沮趣,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體坷随,經(jīng)...
    沈念sama閱讀 46,698評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡房铭,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,767評(píng)論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了温眉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缸匪。...
    茶點(diǎn)故事閱讀 40,912評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖类溢,靈堂內(nèi)的尸體忽然破棺而出凌蔬,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 36,572評(píng)論 5 351
  • 正文 年R本政府宣布砂心,位于F島的核電站懈词,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏辩诞。R本人自食惡果不足惜坎弯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,254評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望躁倒。 院中可真熱鬧荞怒,春花似錦、人聲如沸秧秉。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,746評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)象迎。三九已至荧嵌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間砾淌,已是汗流浹背啦撮。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,859評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留汪厨,地道東北人赃春。 一個(gè)月前我還...
    沈念sama閱讀 49,359評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像劫乱,于是被迫代替她去往敵國(guó)和親织中。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,922評(píng)論 2 361

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

  • Web框架之Django: (1)簡(jiǎn)介: Django是一個(gè)由Python寫成開(kāi)源的重量級(jí)Web應(yīng)用框架衷戈,采用MT...
    老肖閱讀 3,064評(píng)論 0 18
  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架狭吼,建立于...
    Hsinwong閱讀 22,443評(píng)論 1 92
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)殖妇,斷路器刁笙,智...
    卡卡羅2017閱讀 134,716評(píng)論 18 139
  • Django的來(lái)歷:python開(kāi)發(fā)的! long long long years ago!勞倫斯出版集團(tuán)新聞 網(wǎng)...
    JAguys閱讀 349評(píng)論 0 0
  • 早睡才能早起。早睡早睡皮膚好蔚润。早睡使我美麗磅氨。晚安,全世界嫡纠。
    Echo可可閱讀 182評(píng)論 0 0