日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Django框架使用

發布時間:2025/3/20 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django框架使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

---恢復內容開始---

Django 創建第一個項目

本章我們將介紹Django 管理工具及如何使用 Django 來創建項目,第一個項目我們以 HelloWorld 來命令項目。

?

Django 管理工具

安裝 Django 之后,您現在應該已經有了可用的管理工具 django-admin.py。我們可以使用 django-admin.py 來創建一個項目:

?

我們可以來看下django-admin.py的命令介紹:

?

[root@solar ~]# django-admin.py

Usage: django-admin.py subcommand [options] [args]

?

Options:

? -v VERBOSITY, --verbosity=VERBOSITY

? ? ? ? ? ? ? ? ? ? ? ? Verbosity level; 0=minimal output, 1=normal output,

? ? ? ? ? ? ? ? ? ? ? ? 2=verbose output, 3=very verbose output

? --settings=SETTINGS The Python path to a settings module, e.g.

? ? ? ? ? ? ? ? ? ? ? ? "myproject.settings.main". If this isn't provided, the

? ? ? ? ? ? ? ? ? ? ? ? DJANGO_SETTINGS_MODULE environment variable will be

? ? ? ? ? ? ? ? ? ? ? ? used.

? --pythonpath=PYTHONPATH

? ? ? ? ? ? ? ? ? ? ? ? A directory to add to the Python path, e.g.

? ? ? ? ? ? ? ? ? ? ? ? "/home/djangoprojects/myproject".

? --traceback Raise on exception

? --version show program's version number and exit

? -h, --help show this help message and exit

?

Type 'django-admin.py help <subcommand>' for help on a specific subcommand.

?

Available subcommands:

?

[django]

? ? check

? ? cleanup

? ? compilemessages

? ? createcachetable

……省略部分……

創建第一個項目

使用 django-admin.py 來創建 HelloWorld 項目:

?

django-admin.py startproject HelloWorld

創建完成后我們可以查看下項目的目錄結構:

?

[root@solar ~]# cd HelloWorld/

[root@solar HelloWorld]# tree

.

|-- HelloWorld

| |-- __init__.py

| |-- settings.py

| |-- urls.py

| `-- wsgi.py

`-- manage.py

目錄說明:

?

HelloWorld: 項目的容器。

manage.py: 一個實用的命令行工具,可讓你以各種方式與該 Django 項目進行交互。

HelloWorld/__init__.py: 一個空文件,告訴 Python 該目錄是一個 Python 包。

HelloWorld/settings.py: 該 Django 項目的設置/配置。

HelloWorld/urls.py: 該 Django 項目的 URL 聲明; 一份由 Django 驅動的網站"目錄"。

HelloWorld/wsgi.py: 一個 WSGI 兼容的 Web 服務器的入口,以便運行你的項目。

接下來我們進入 HelloWorld 目錄輸入以下命令,啟動服務器:

?

python manage.py runserver 0.0.0.0:8000

0.0.0.0讓其它電腦可連接到開發服務器,8000為端口號。如果不說明,那么端口號默認為8000。

?

在瀏覽器輸入你服務器的ip及端口號,如果正常啟動,輸出結果如下:

?

?

?

視圖和 URL 配置

在先前創建的 HelloWorld 目錄下的 HelloWorld 目錄新建一個 view.py 文件,并輸入代碼:

?

from django.http import HttpResponse

?

def hello(request):

?return HttpResponse("Hello world ! ")

接著,綁定 URL 與視圖函數。打開 urls.py 文件,刪除原來代碼,將以下代碼復制粘貼到 urls.py 文件中:

?

from django.conf.urls import *

from HelloWorld.view import hello

?

urlpatterns = patterns("",

?('^hello/$', hello),

)

整個目錄結構如下:

?

[root@solar HelloWorld]# tree

.

|-- HelloWorld

| |-- __init__.py

| |-- __init__.pyc

| |-- settings.py

| |-- settings.pyc

| |-- urls.py # url 配置

| |-- urls.pyc

| |-- view.py # 添加的視圖文件

| |-- view.pyc # 編譯后的視圖文件

| |-- wsgi.py

| `-- wsgi.pyc

`-- manage.py

完成后,啟動 Django 開發服務器,并在瀏覽器訪問打開瀏覽器并訪問:

?

?

?

?

?

?

?

Django 模板

在上一章節中我們使用 django.http.HttpResponse() 來輸出"Hello World!"。該方式將數據與視圖混合在一起,不符合Django的MVC思想。

?

本章節我們將為大家詳細介紹 Django 模板的應用,模板是一個文本,用于分離文檔的表現形式和內容。

?

模板應用實例

我們接著上一章節的項目將在 HelloWorld 目錄底下創建 templates 目錄并建立 hello.html文件,整個目錄結構如下:

?

HelloWorld/

|-- HelloWorld

| |-- __init__.py

| |-- __init__.pyc

| |-- settings.py

| |-- settings.pyc

| |-- urls.py

| |-- urls.pyc

| |-- view.py

| |-- view.pyc

| |-- wsgi.py

| `-- wsgi.pyc

|-- manage.py

`-- templates

? ? `-- hello.html

hello.html 文件代碼如下:

?

<h1>{{ hello }}</h1>

從模板中我們知道變量使用了雙括號。

?

接下來我們需要向Django說明模板文件的路徑,修改HelloWorld/settings.py,修改 TEMPLATES 中的 DIRS 為[BASE_DIR+"/templates",],如下所示:

?

TEMPLATES = [

? ? {

? ? ? ? 'BACKEND': 'django.template.backends.django.DjangoTemplates',

? ? ? ? 'DIRS': [BASE_DIR+"/templates",],

? ? ? ? 'APP_DIRS': True,

? ? ? ? 'OPTIONS': {

? ? ? ? ? ? 'context_processors': [

? ? ? ? ? ? ? ? 'django.template.context_processors.debug',

? ? ? ? ? ? ? ? 'django.template.context_processors.request',

? ? ? ? ? ? ? ? 'django.contrib.auth.context_processors.auth',

? ? ? ? ? ? ? ? 'django.contrib.messages.context_processors.messages',

? ? ? ? ? ? ],

? ? ? ? },

? ? },

]

我們現在修改 view.py,增加一個新的對象,用于向模板提交數據:

?

# -*- coding: utf-8 -*-

?

#from django.http import HttpResponse

from django.shortcuts import render

?

def hello(request):

? ? context = {}

? ? context['hello'] = 'Hello World!'

? ? return render(request, 'hello.html', context)

可以看到,我們這里使用render來替代之前使用的HttpResponse。render還使用了一個字典context作為參數。

?

context 字典中元素的鍵值 "hello" 對應了模板中的變量 "{{ hello }}"。

?

再訪問訪問http://192.168.45.3:8000/hello/,可以看到頁面:

?

?

?

這樣我們就完成了使用模板來輸出數據,從而實現數據與視圖分離。

?

接下來我們將具體介紹模板中常用的語法規則。

?

Django 模板標簽

if/else 標簽

?

基本語法格式如下:

?

{% if condition %}

? ? ?... display

{% endif %}

或者:

?

{% if condition1 %}

? ?... display 1

{% elif condiiton2 %}

? ?... display 2

{% else %}

? ?... display 3

{% endif %}

根據條件判斷是否輸出。if/else 支持嵌套。

?

{% if %} 標簽接受 and , or 或者 not 關鍵字來對多個變量做判斷 ,或者對變量取反( not ),例如:

?

{% if athlete_list and coach_list %}

? ? ?athletes 和 coaches 變量都是可用的。

{% endif %}

for 標簽

?

{% for %} 允許我們在一個序列上迭代。

?

與Python的 for 語句的情形類似,循環語法是 for X in Y ,Y是要迭代的序列而X是在每一個特定的循環中使用的變量名稱。

?

每一次循環中,模板系統會渲染在 {% for %} 和 {% endfor %} 之間的所有內容。

?

例如,給定一個運動員列表 athlete_list 變量,我們可以使用下面的代碼來顯示這個列表:

?

?

?

<ul>

{% for athlete in athlete_list %}

? ? <li>{{ athlete.name }}</li>

{% endfor %}

</ul>

給標簽增加一個 reversed 使得該列表被反向迭代:

?

{% for athlete in athlete_list reversed %}

...

{% endfor %}

可以嵌套使用 {% for %} 標簽:

?

{% for athlete in athlete_list %}

? ? <h1>{{ athlete.name }}</h1>

? ? <ul>

? ? {% for sport in athlete.sports_played %}

? ? ? ? <li>{{ sport }}</li>

? ? {% endfor %}

? ? </ul>

{% endfor %}

ifequal/ifnotequal 標簽

?

{% ifequal %} 標簽比較兩個值,當他們相等時,顯示在 {% ifequal %} 和 {% endifequal %} 之中所有的值。

?

下面的例子比較兩個模板變量 user 和 currentuser :

?

{% ifequal user currentuser %}

? ? <h1>Welcome!</h1>

{% endifequal %}

和 {% if %} 類似, {% ifequal %} 支持可選的 {% else%} 標簽:8

?

{% ifequal section 'sitenews' %}

? ? <h1>Site News</h1>

{% else %}

? ? <h1>No News Here</h1>

{% endifequal %}

注釋標簽

?

Django 注釋使用 {# #}。

?

{# 這是一個注釋 #}

過濾器

?

模板過濾器可以在變量被顯示前修改它,過濾器使用管道字符,如下所示:

?

{{ name|lower }}

{{ name }} 變量被過濾器 lower 處理后,文檔大寫轉換文本為小寫。

?

過濾管道可以被* 套接* ,既是說,一個過濾器管道的輸出又可以作為下一個管道的輸入:

?

{{ my_list|first|upper }}

以上實例將第一個元素并將其轉化為大寫。

?

有些過濾器有參數。 過濾器的參數跟隨冒號之后并且總是以雙引號包含。 例如:

?

{{ bio|truncatewords:"30" }}

這個將顯示變量 bio 的前30個詞。

?

其他過濾器:

?

addslashes : 添加反斜杠到任何反斜杠、單引號或者雙引號前面。

date : 按指定的格式字符串參數格式化 date 或者 datetime 對象,實例:

{{ pub_date|date:"F j, Y" }}

length : 返回變量的長度。

include 標簽

?

{% include %} 標簽允許在模板中包含其它的模板的內容。

?

下面這兩個例子都包含了 nav.html 模板:

?

{% include "nav.html" %}

模板繼承

模板可以用繼承的方式來實現復用。

?

接下來我們先創建之前項目的 templates 目錄中添加 base.html 文件,代碼如下:

?

<html>

? <head>

? ? <title>Hello World!</title>

? </head>

?

? <body>

? ? <h1>Hello World!</h1>

? ? {% block mainbody %}

? ? ? ?<p>original</p>

? ? {% endblock %}

? </body>

</html>

以上代碼中,名為mainbody的block標簽是可以被繼承者們替換掉的部分。

?

所有的 {% block %} 標簽告訴模板引擎,子模板可以重載這些部分。

?

hello.html中繼承base.html,并替換特定block,hello.html修改后的代碼如下:

?

{% extends "base.html" %}

?

{% block mainbody %}

<p>繼承了 base.html 文件</p>

{% endblock %}

第一行代碼說明hello.html繼承了 base.html 文件。可以看到,這里相同名字的block標簽用以替換base.html的相應block。

?

重新訪問地址http://192.168.45.3:8000/hello/,輸出結果如下:

?

?

?

?

?

?

?

Django 模型

Django 對各種數據庫提供了很好的支持,包括:PostgreSQL、MySQL、SQLite、Oracle。

?

Django 為這些數據庫提供了統一的調用API。 我們可以根據自己業務需求選擇不同的數據庫。

?

MySQL 是 Web 應用中最常用的數據庫。本章節我們將以 Mysql 作為實例進行介紹。你可以通過本站的 MySQL 教程 了解更多Mysql的基礎知識。

?

數據庫配置

我們在項目的 settings.py 文件中找到 DATABASES 配置項,將其信息修改為:

?

DATABASES = {

? ? 'default': {

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

? ? ? ? 'NAME': 'test',

? ? ? ? 'USER': 'test',

? ? ? ? 'PASSWORD': 'test123',

? ? ? ? 'HOST':'localhost',

? ? ? ? 'PORT':'3306',

? ? }

}

上面包含數據庫名稱和用戶的信息,它們與MySQL中對應數據庫和用戶的設置相同。Django根據這一設置,與MySQL中相應的數據庫和用戶連接起來。

?

定義模型

創建 APP

?

Django規定,如果要使用模型,必須要創建一個app。我們使用以下命令創建一個 TestModel 的 app:

?

python manage.py startapp TestModel

目錄結構如下:

?

HelloWorld

|-- TestModel

| |-- __init__.py

| |-- admin.py

| |-- models.py

| |-- tests.py

| `-- views.py

我們修改 TestModel/models.py文件,代碼如下:

?

# models.py

from django.db import models

?

class Test(models.Model):

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

以上的類名代表了數據庫表名,且繼承了models.Model,類里面的字段代表數據表中的字段(name),數據類型則由CharField(相當于varchar)、DateField(相當于datetime), max_length 參數限定長度。

?

接下來在settings.py中找到INSTALLED_APPS這一項,如下:

?

INSTALLED_APPS = (

? ? 'django.contrib.admin',

? ? 'django.contrib.auth',

? ? 'django.contrib.contenttypes',

? ? 'django.contrib.sessions',

? ? 'django.contrib.messages',

? ? 'django.contrib.staticfiles',

? ? 'TestModel', # 添加此項

)

在命令行中運行python manage.py syncdb,看到幾行"Creating table…"的字樣,你的數據表就創建好了。

?

Creating tables ...

……

Creating table TestModel_test #我們自定義的表

……

表名組成結構為:app名_類名(如:TestModel_test)。

?

注意:盡管我們沒有在models給表設置主鍵,但是Django會自動添加一個id作為主鍵。

?

數據庫操作

接下來我們在 HelloWorld 目錄中添加 testdb.py 文件,并修改urls.py:

?

from django.conf.urls import *

from HelloWorld.view import hello

from HelloWorld.testdb import testdb

?

urlpatterns = patterns("",

? ? ? ? ('^hello/$', hello),

? ? ? ? ('^testdb/$', testdb),

)

添加數據

?

添加數據需要先創建對象,然后再執行 save 函數,相當于SQL中的INSERT:

?

# -*- coding: utf-8 -*-

?

from django.http import HttpResponse

?

from TestModel.models import Test

?

# 數據庫操作

def testdb(request):

?test1 = Test(name='w3cschool.cc')

?test1.save()

?return HttpResponse("<p>數據添加成功!</p>")

訪問http://192.168.45.3:8000/testdb/ 就可以看到數據添加成功的提示。

?

獲取數據

?

Django提供了多種方式來獲取數據庫的內容,如下代碼所示:

?

# -*- coding: utf-8 -*-

?

from django.http import HttpResponse

?

from TestModel.models import Test

?

# 數據庫操作

def testdb(request):

?# 初始化

?response = ""

?response1 = ""

?

?

?# 通過objects這個模型管理器的all()獲得所有數據行,相當于SQL中的SELECT * FROM

?list = Test.objects.all()

??

?# filter相當于SQL中的WHERE,可設置條件過濾結果

?response2 = Test.objects.filter(id=1)?

?

?# 獲取單個對象

?response3 = Test.objects.get(id=1)?

?

?# 限制返回的數據 相當于 SQL 中的 OFFSET 0 LIMIT 2;

?Test.objects.order_by('name')[0:2]

?

?#數據排序

?Test.objects.order_by("id")

?

?# 上面的方法可以連鎖使用

?Test.objects.filter(name="w3cschool.cc").order_by("id")

?

?# 輸出所有數據

?for var in list:

? response1 += var.name + " "

?response = response1

?return HttpResponse("<p>" + response + "</p>")

輸出結果如下圖所示:

?

?

?

更新數據

?

修改數據可以使用 save() 或 update():

?

# -*- coding: utf-8 -*-

?

from django.http import HttpResponse

?

from TestModel.models import Test

?

# 數據庫操作

def testdb(request):

?# 修改其中一個id=1的name字段,再save,相當于SQL中的UPDATE

?test1 = Test.objects.get(id=1)

?test1.name = 'w3cschool菜鳥教程'

?test1.save()

?

?# 另外一種方式

?#Test.objects.filter(id=1).update(name='w3cschool菜鳥教程')

?

?# 修改所有的列

?# Test.objects.all().update(name='w3cschool菜鳥教程')

?

?return HttpResponse("<p>修改成功</p>")

刪除數據

?

刪除數據庫中的對象只需調用該對象的delete()方法即可:

?

# -*- coding: utf-8 -*-

?

from django.http import HttpResponse

?

from TestModel.models import Test

?

# 數據庫操作

def testdb(request):

?# 刪除id=1的數據

?test1 = Test.objects.get(id=1)

?test1.delete()

?

?# 另外一種方式

?# Test.objects.filter(id=1).delete()

?

?# 刪除所有數據

?# Test.objects.all().delete()

?

?return HttpResponse("<p>刪除成功</p>")Django 創建第一個項目

本章我們將介紹Django 管理工具及如何使用 Django 來創建項目,第一個項目我們以 HelloWorld 來命令項目。

?

Django 管理工具

安裝 Django 之后,您現在應該已經有了可用的管理工具 django-admin.py。我們可以使用 django-admin.py 來創建一個項目:

?

我們可以來看下django-admin.py的命令介紹:

?

[root@solar ~]# django-admin.py

Usage: django-admin.py subcommand [options] [args]

?

Options:

? -v VERBOSITY, --verbosity=VERBOSITY

? ? ? ? ? ? ? ? ? ? ? ? Verbosity level; 0=minimal output, 1=normal output,

? ? ? ? ? ? ? ? ? ? ? ? 2=verbose output, 3=very verbose output

? --settings=SETTINGS The Python path to a settings module, e.g.

? ? ? ? ? ? ? ? ? ? ? ? "myproject.settings.main". If this isn't provided, the

? ? ? ? ? ? ? ? ? ? ? ? DJANGO_SETTINGS_MODULE environment variable will be

? ? ? ? ? ? ? ? ? ? ? ? used.

? --pythonpath=PYTHONPATH

? ? ? ? ? ? ? ? ? ? ? ? A directory to add to the Python path, e.g.

? ? ? ? ? ? ? ? ? ? ? ? "/home/djangoprojects/myproject".

? --traceback Raise on exception

? --version show program's version number and exit

? -h, --help show this help message and exit

?

Type 'django-admin.py help <subcommand>' for help on a specific subcommand.

?

Available subcommands:

?

[django]

? ? check

? ? cleanup

? ? compilemessages

? ? createcachetable

……省略部分……

創建第一個項目

使用 django-admin.py 來創建 HelloWorld 項目:

?

django-admin.py startproject HelloWorld

創建完成后我們可以查看下項目的目錄結構:

?

[root@solar ~]# cd HelloWorld/

[root@solar HelloWorld]# tree

.

|-- HelloWorld

| |-- __init__.py

| |-- settings.py

| |-- urls.py

| `-- wsgi.py

`-- manage.py

目錄說明:

?

HelloWorld: 項目的容器。

manage.py: 一個實用的命令行工具,可讓你以各種方式與該 Django 項目進行交互。

HelloWorld/__init__.py: 一個空文件,告訴 Python 該目錄是一個 Python 包。

HelloWorld/settings.py: 該 Django 項目的設置/配置。

HelloWorld/urls.py: 該 Django 項目的 URL 聲明; 一份由 Django 驅動的網站"目錄"。

HelloWorld/wsgi.py: 一個 WSGI 兼容的 Web 服務器的入口,以便運行你的項目。

接下來我們進入 HelloWorld 目錄輸入以下命令,啟動服務器:

?

python manage.py runserver 0.0.0.0:8000

0.0.0.0讓其它電腦可連接到開發服務器,8000為端口號。如果不說明,那么端口號默認為8000。

?

在瀏覽器輸入你服務器的ip及端口號,如果正常啟動,輸出結果如下:

?

?

?

視圖和 URL 配置

在先前創建的 HelloWorld 目錄下的 HelloWorld 目錄新建一個 view.py 文件,并輸入代碼:

?

from django.http import HttpResponse

?

def hello(request):

?return HttpResponse("Hello world ! ")

接著,綁定 URL 與視圖函數。打開 urls.py 文件,刪除原來代碼,將以下代碼復制粘貼到 urls.py 文件中:

?

from django.conf.urls import *

from HelloWorld.view import hello

?

urlpatterns = patterns("",

?('^hello/$', hello),

)

整個目錄結構如下:

?

[root@solar HelloWorld]# tree

.

|-- HelloWorld

| |-- __init__.py

| |-- __init__.pyc

| |-- settings.py

| |-- settings.pyc

| |-- urls.py # url 配置

| |-- urls.pyc

| |-- view.py # 添加的視圖文件

| |-- view.pyc # 編譯后的視圖文件

| |-- wsgi.py

| `-- wsgi.pyc

`-- manage.py

完成后,啟動 Django 開發服務器,并在瀏覽器訪問打開瀏覽器并訪問:

?

?

?

?

?

?

?

Django 模板

在上一章節中我們使用 django.http.HttpResponse() 來輸出"Hello World!"。該方式將數據與視圖混合在一起,不符合Django的MVC思想。

?

本章節我們將為大家詳細介紹 Django 模板的應用,模板是一個文本,用于分離文檔的表現形式和內容。

?

模板應用實例

我們接著上一章節的項目將在 HelloWorld 目錄底下創建 templates 目錄并建立 hello.html文件,整個目錄結構如下:

?

HelloWorld/

|-- HelloWorld

| |-- __init__.py

| |-- __init__.pyc

| |-- settings.py

| |-- settings.pyc

| |-- urls.py

| |-- urls.pyc

| |-- view.py

| |-- view.pyc

| |-- wsgi.py

| `-- wsgi.pyc

|-- manage.py

`-- templates

? ? `-- hello.html

hello.html 文件代碼如下:

?

<h1>{{ hello }}</h1>

從模板中我們知道變量使用了雙括號。

?

接下來我們需要向Django說明模板文件的路徑,修改HelloWorld/settings.py,修改 TEMPLATES 中的 DIRS 為[BASE_DIR+"/templates",],如下所示:

?

TEMPLATES = [

? ? {

? ? ? ? 'BACKEND': 'django.template.backends.django.DjangoTemplates',

? ? ? ? 'DIRS': [BASE_DIR+"/templates",],

? ? ? ? 'APP_DIRS': True,

? ? ? ? 'OPTIONS': {

? ? ? ? ? ? 'context_processors': [

? ? ? ? ? ? ? ? 'django.template.context_processors.debug',

? ? ? ? ? ? ? ? 'django.template.context_processors.request',

? ? ? ? ? ? ? ? 'django.contrib.auth.context_processors.auth',

? ? ? ? ? ? ? ? 'django.contrib.messages.context_processors.messages',

? ? ? ? ? ? ],

? ? ? ? },

? ? },

]

我們現在修改 view.py,增加一個新的對象,用于向模板提交數據:

?

# -*- coding: utf-8 -*-

?

#from django.http import HttpResponse

from django.shortcuts import render

?

def hello(request):

? ? context = {}

? ? context['hello'] = 'Hello World!'

? ? return render(request, 'hello.html', context)

可以看到,我們這里使用render來替代之前使用的HttpResponse。render還使用了一個字典context作為參數。

?

context 字典中元素的鍵值 "hello" 對應了模板中的變量 "{{ hello }}"。

?

再訪問訪問http://192.168.45.3:8000/hello/,可以看到頁面:

?

?

?

這樣我們就完成了使用模板來輸出數據,從而實現數據與視圖分離。

?

接下來我們將具體介紹模板中常用的語法規則。

?

Django 模板標簽

if/else 標簽

?

基本語法格式如下:

?

{% if condition %}

? ? ?... display

{% endif %}

或者:

?

{% if condition1 %}

? ?... display 1

{% elif condiiton2 %}

? ?... display 2

{% else %}

? ?... display 3

{% endif %}

根據條件判斷是否輸出。if/else 支持嵌套。

?

{% if %} 標簽接受 and , or 或者 not 關鍵字來對多個變量做判斷 ,或者對變量取反( not ),例如:

?

{% if athlete_list and coach_list %}

? ? ?athletes 和 coaches 變量都是可用的。

{% endif %}

for 標簽

?

{% for %} 允許我們在一個序列上迭代。

?

與Python的 for 語句的情形類似,循環語法是 for X in Y ,Y是要迭代的序列而X是在每一個特定的循環中使用的變量名稱。

?

每一次循環中,模板系統會渲染在 {% for %} 和 {% endfor %} 之間的所有內容。

?

例如,給定一個運動員列表 athlete_list 變量,我們可以使用下面的代碼來顯示這個列表:

?

?

?

<ul>

{% for athlete in athlete_list %}

? ? <li>{{ athlete.name }}</li>

{% endfor %}

</ul>

給標簽增加一個 reversed 使得該列表被反向迭代:

?

{% for athlete in athlete_list reversed %}

...

{% endfor %}

可以嵌套使用 {% for %} 標簽:

?

{% for athlete in athlete_list %}

? ? <h1>{{ athlete.name }}</h1>

? ? <ul>

? ? {% for sport in athlete.sports_played %}

? ? ? ? <li>{{ sport }}</li>

? ? {% endfor %}

? ? </ul>

{% endfor %}

ifequal/ifnotequal 標簽

?

{% ifequal %} 標簽比較兩個值,當他們相等時,顯示在 {% ifequal %} 和 {% endifequal %} 之中所有的值。

?

下面的例子比較兩個模板變量 user 和 currentuser :

?

{% ifequal user currentuser %}

? ? <h1>Welcome!</h1>

{% endifequal %}

和 {% if %} 類似, {% ifequal %} 支持可選的 {% else%} 標簽:8

?

{% ifequal section 'sitenews' %}

? ? <h1>Site News</h1>

{% else %}

? ? <h1>No News Here</h1>

{% endifequal %}

注釋標簽

?

Django 注釋使用 {# #}。

?

{# 這是一個注釋 #}

過濾器

?

模板過濾器可以在變量被顯示前修改它,過濾器使用管道字符,如下所示:

?

{{ name|lower }}

{{ name }} 變量被過濾器 lower 處理后,文檔大寫轉換文本為小寫。

?

過濾管道可以被* 套接* ,既是說,一個過濾器管道的輸出又可以作為下一個管道的輸入:

?

{{ my_list|first|upper }}

以上實例將第一個元素并將其轉化為大寫。

?

有些過濾器有參數。 過濾器的參數跟隨冒號之后并且總是以雙引號包含。 例如:

?

{{ bio|truncatewords:"30" }}

這個將顯示變量 bio 的前30個詞。

?

其他過濾器:

?

addslashes : 添加反斜杠到任何反斜杠、單引號或者雙引號前面。

date : 按指定的格式字符串參數格式化 date 或者 datetime 對象,實例:

{{ pub_date|date:"F j, Y" }}

length : 返回變量的長度。

include 標簽

?

{% include %} 標簽允許在模板中包含其它的模板的內容。

?

下面這兩個例子都包含了 nav.html 模板:

?

{% include "nav.html" %}

模板繼承

模板可以用繼承的方式來實現復用。

?

接下來我們先創建之前項目的 templates 目錄中添加 base.html 文件,代碼如下:

?

<html>

? <head>

? ? <title>Hello World!</title>

? </head>

?

? <body>

? ? <h1>Hello World!</h1>

? ? {% block mainbody %}

? ? ? ?<p>original</p>

? ? {% endblock %}

? </body>

</html>

以上代碼中,名為mainbody的block標簽是可以被繼承者們替換掉的部分。

?

所有的 {% block %} 標簽告訴模板引擎,子模板可以重載這些部分。

?

hello.html中繼承base.html,并替換特定block,hello.html修改后的代碼如下:

?

{% extends "base.html" %}

?

{% block mainbody %}

<p>繼承了 base.html 文件</p>

{% endblock %}

第一行代碼說明hello.html繼承了 base.html 文件。可以看到,這里相同名字的block標簽用以替換base.html的相應block。

?

重新訪問地址http://192.168.45.3:8000/hello/,輸出結果如下:

?

?

?

?

?

?

?

Django 模型

Django 對各種數據庫提供了很好的支持,包括:PostgreSQL、MySQL、SQLite、Oracle。

?

Django 為這些數據庫提供了統一的調用API。 我們可以根據自己業務需求選擇不同的數據庫。

?

MySQL 是 Web 應用中最常用的數據庫。本章節我們將以 Mysql 作為實例進行介紹。你可以通過本站的 MySQL 教程 了解更多Mysql的基礎知識。

?

數據庫配置

我們在項目的 settings.py 文件中找到 DATABASES 配置項,將其信息修改為:

?

DATABASES = {

? ? 'default': {

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

? ? ? ? 'NAME': 'test',

? ? ? ? 'USER': 'test',

? ? ? ? 'PASSWORD': 'test123',

? ? ? ? 'HOST':'localhost',

? ? ? ? 'PORT':'3306',

? ? }

}

上面包含數據庫名稱和用戶的信息,它們與MySQL中對應數據庫和用戶的設置相同。Django根據這一設置,與MySQL中相應的數據庫和用戶連接起來。

?

定義模型

創建 APP

?

Django規定,如果要使用模型,必須要創建一個app。我們使用以下命令創建一個 TestModel 的 app:

?

python manage.py startapp TestModel

目錄結構如下:

?

HelloWorld

|-- TestModel

| |-- __init__.py

| |-- admin.py

| |-- models.py

| |-- tests.py

| `-- views.py

我們修改 TestModel/models.py文件,代碼如下:

?

# models.py

from django.db import models

?

class Test(models.Model):

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

以上的類名代表了數據庫表名,且繼承了models.Model,類里面的字段代表數據表中的字段(name),數據類型則由CharField(相當于varchar)、DateField(相當于datetime), max_length 參數限定長度。

?

接下來在settings.py中找到INSTALLED_APPS這一項,如下:

?

INSTALLED_APPS = (

? ? 'django.contrib.admin',

? ? 'django.contrib.auth',

? ? 'django.contrib.contenttypes',

? ? 'django.contrib.sessions',

? ? 'django.contrib.messages',

? ? 'django.contrib.staticfiles',

? ? 'TestModel', # 添加此項

)

在命令行中運行python manage.py syncdb,看到幾行"Creating table…"的字樣,你的數據表就創建好了。

?

Creating tables ...

……

Creating table TestModel_test #我們自定義的表

……

表名組成結構為:app名_類名(如:TestModel_test)。

?

注意:盡管我們沒有在models給表設置主鍵,但是Django會自動添加一個id作為主鍵。

?

數據庫操作

接下來我們在 HelloWorld 目錄中添加 testdb.py 文件,并修改urls.py:

?

from django.conf.urls import *

from HelloWorld.view import hello

from HelloWorld.testdb import testdb

?

urlpatterns = patterns("",

? ? ? ? ('^hello/$', hello),

? ? ? ? ('^testdb/$', testdb),

)

添加數據

?

添加數據需要先創建對象,然后再執行 save 函數,相當于SQL中的INSERT:

?

# -*- coding: utf-8 -*-

?

from django.http import HttpResponse

?

from TestModel.models import Test

?

# 數據庫操作

def testdb(request):

?test1 = Test(name='w3cschool.cc')

?test1.save()

?return HttpResponse("<p>數據添加成功!</p>")

訪問http://192.168.45.3:8000/testdb/ 就可以看到數據添加成功的提示。

?

獲取數據

?

Django提供了多種方式來獲取數據庫的內容,如下代碼所示:

?

# -*- coding: utf-8 -*-

?

from django.http import HttpResponse

?

from TestModel.models import Test

?

# 數據庫操作

def testdb(request):

?# 初始化

?response = ""

?response1 = ""

?

?

?# 通過objects這個模型管理器的all()獲得所有數據行,相當于SQL中的SELECT * FROM

?list = Test.objects.all()

??

?# filter相當于SQL中的WHERE,可設置條件過濾結果

?response2 = Test.objects.filter(id=1)?

?

?# 獲取單個對象

?response3 = Test.objects.get(id=1)?

?

?# 限制返回的數據 相當于 SQL 中的 OFFSET 0 LIMIT 2;

?Test.objects.order_by('name')[0:2]

?

?#數據排序

?Test.objects.order_by("id")

?

?# 上面的方法可以連鎖使用

?Test.objects.filter(name="w3cschool.cc").order_by("id")

?

?# 輸出所有數據

?for var in list:

? response1 += var.name + " "

?response = response1

?return HttpResponse("<p>" + response + "</p>")

輸出結果如下圖所示:

?

?

?

更新數據

?

修改數據可以使用 save() 或 update():

?

# -*- coding: utf-8 -*-

?

from django.http import HttpResponse

?

from TestModel.models import Test

?

# 數據庫操作

def testdb(request):

?# 修改其中一個id=1的name字段,再save,相當于SQL中的UPDATE

?test1 = Test.objects.get(id=1)

?test1.name = 'w3cschool菜鳥教程'

?test1.save()

?

?# 另外一種方式

?#Test.objects.filter(id=1).update(name='w3cschool菜鳥教程')

?

?# 修改所有的列

?# Test.objects.all().update(name='w3cschool菜鳥教程')

?

?return HttpResponse("<p>修改成功</p>")

刪除數據

?

刪除數據庫中的對象只需調用該對象的delete()方法即可:

?

# -*- coding: utf-8 -*-

?

from django.http import HttpResponse

?

from TestModel.models import Test

?

# 數據庫操作

def testdb(request):

?# 刪除id=1的數據

?test1 = Test.objects.get(id=1)

?test1.delete()

?

?# 另外一種方式

?# Test.objects.filter(id=1).delete()

?

?# 刪除所有數據

?# Test.objects.all().delete()

?

?return HttpResponse("<p>刪除成功</p>")

---恢復內容結束---

轉載于:https://www.cnblogs.com/QI1125/p/7841611.html

總結

以上是生活随笔為你收集整理的Django框架使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

美国av大片 | 久久国产剧场电影 | 国产在线欧美日韩 | 亚洲免费公开视频 | 狠狠色狠狠综合久久 | 麻豆国产露脸在线观看 | 91精品久久久久久久91蜜桃 | 狠狠操狠狠 | 日韩中文久久 | 国产欧美综合视频 | 国产精品成人在线观看 | 久久国产一二区 | 五月婷香 | 免费看黄网站在线 | 人人射人人澡 | adn—256中文在线观看 | 国产精品一区免费观看 | 激情网色| 日本久久久久久科技有限公司 | 日本在线中文 | 视频一区二区国产 | 亚洲最大在线视频 | 国产精品综合在线观看 | 国产麻豆精品免费视频 | 免费又黄又爽 | 色丁香久久 | 狠狠色丁香婷婷 | 天天天干天天射天天天操 | 久久99久久久久久 | 色综合久久中文字幕综合网 | 午夜精品视频一区 | 精品国产电影一区 | 天天操天天舔天天干 | 国产黄a三级| 麻豆视频免费入口 | 国产一级片免费观看 | 中文字幕一区二区三区久久 | 91视频88av | 精品一二 | 91亚洲狠狠婷婷综合久久久 | 中文字幕在线观看免费高清电影 | 久久毛片高清国产 | 91天堂影院 | 免费av在线播放 | 国产精品久久免费看 | 久久久久激情 | 亚洲天天综合网 | 天天五月天色 | 日韩aⅴ视频 | 日韩精品一区二区三区视频播放 | 天天操月月操 | 人人爱人人添 | 天天干,天天干 | 看av在线 | 日韩视频欧美视频 | 久久不卡视频 | 天天操综| 日韩精品免费一线在线观看 | 亚洲一区日韩精品 | 日韩欧美一区二区三区视频 | 91 在线视频播放 | 玖玖在线观看视频 | 亚洲欧美婷婷六月色综合 | 在线一区观看 | 色综合久久中文字幕综合网 | 黄色91在线 | 国产精品麻豆三级一区视频 | 96精品视频 | 最新av免费在线 | 日韩欧美在线免费 | 天天综合网 天天综合色 | 免费日韩一区二区三区 | 久久国产精品免费 | 美女av免费| av超碰在线 | 91香蕉国产 | 黄色高清视频在线观看 | 美女久久久 | 久久精品久久精品久久39 | 欧美久久久久久久久久 | 日本中文字幕在线 | 蜜桃视频色 | 欧美一级片免费播放 | 一区二区视频在线看 | 欧美在线久久 | 国产高清视频免费在线观看 | 免费在线一区二区 | 99久久久国产精品美女 | 国产精品久久久久久久久搜平片 | 草久久久久久久 | 日本中文字幕在线看 | 91精品国产自产在线观看 | 欧美激情视频一区 | 久久久久久久久免费 | 亚洲一级电影 | 亚洲五月六月 | 丝袜足交在线 | 久久国产香蕉视频 | 国产亚洲精品av | 超碰免费av | 超碰在线观看97 | 国产一级黄色免费看 | 一区二区三区在线免费播放 | 亚洲香蕉在线观看 | 日日弄天天弄美女bbbb | a电影在线观看 | 成人黄色影片在线 | 日本特黄特色aaa大片免费 | 久久不见久久见免费影院 | 日韩精品一区二区在线 | 日韩免费视频线观看 | 天天操天天色天天射 | 五月婷婷在线观看视频 | 亚洲艳情 | 高清日韩一区二区 | 国产成人精品一区二区三区在线观看 | 精品欧美一区二区三区久久久 | 成人欧美一区二区三区在线观看 | 国产成人免费观看久久久 | 69热国产视频 | 成人动漫视频在线 | av高清在线观看 | 亚洲欧美999| 亚洲视频电影在线 | 在线综合 亚洲 欧美在线视频 | www免费在线观看 | 91成人网页版 | 亚洲综合色视频在线观看 | 国产在线视频在线观看 | 久久久久久久福利 | 色操插 | 国产在线一区二区三区播放 | 久草综合在线 | 色婷婷激情五月 | 91视频三区| 久久精品国产v日韩v亚洲 | 精品美女国产在线 | 91视频免费国产 | 午夜视频在线观看一区二区 | 精品国产成人av在线免 | 最近日本韩国中文字幕 | 97夜夜澡人人双人人人喊 | 9999免费视频 | 青青草在久久免费久久免费 | 69国产精品视频 | 天天操夜夜操 | 久久国产手机看片 | 久久伦理影院 | 国产精品视频永久免费播放 | 国产精品手机播放 | 欧美一级片在线播放 | 91女子私密保健养生少妇 | 久久精品小视频 | 久草视频看看 | 波多野结衣在线中文字幕 | 国产日产精品久久久久快鸭 | 伊人电影天堂 | 国产精品久久久久久影院 | 亚洲三级在线免费观看 | 99久久精品免费看 | 色噜噜在线观看视频 | 国产视频一区二区在线 | 色多多污污在线观看 | 奇米网777| 亚洲精品免费看 | 中文久草| 国产一区二区在线免费播放 | 久久美女高清视频 | 亚洲天堂精品 | 免费黄色一区 | 亚洲国产伊人 | 成人免费视频网站 | 91污在线 | 国产精品久99 | 亚洲激情婷婷 | 福利一区二区三区四区 | 国产高清福利在线 | 天天看天天干 | www黄免费| 青青河边草免费视频 | 国产美腿白丝袜足在线av | 最新免费中文字幕 | 国产破处精品 | 色婷五月天 | 国产黄色看片 | 免费看片色 | 精品国产一区二 | 国产69精品久久久久久久久久 | 色是在线视频 | 久久国产热视频 | av一级一片 | 999精品视频| 久精品在线 | 日日日操 | 日本一区二区高清不卡 | 精品国产乱码久久久久久三级人 | 久久黄色免费观看 | 天天玩天天干天天操 | 成人理论在线观看 | 色多视频在线观看 | 国产精品欧美久久久久天天影视 | 日本一区二区三区免费观看 | 奇米影视8888在线观看大全免费 | 福利视频午夜 | 天天操天天干天天干 | 亚洲国产精品一区二区久久hs | 在线日本看片免费人成视久网 | 黄色毛片一级 | 18av在线视频 | 中文免费在线观看 | 探花视频免费观看高清视频 | 97干com| 国产在线a免费观看 | 91禁在线观看| 在线观看中文字幕网站 | 人人藻人人澡人人爽 | 最近最新中文字幕视频 | 日韩免费看片 | 中文在线8新资源库 | 中文字幕在线观看资源 | 久久综合九色综合欧美狠狠 | 天天射天天艹 | 国产午夜精品一区二区三区嫩草 | www.人人草| 狠狠色综合网站久久久久久久 | 伊人天堂av | 成人av中文字幕在线观看 | 麻豆影视网站 | 欧美了一区在线观看 | 国产精品区在线观看 | 欧美日韩国产mv | 国产精久久 | 精品欧美一区二区三区久久久 | 天天人人综合 | 欧美激情视频在线观看免费 | 综合色久| 国产精品99页 | 亚洲精品在线视频观看 | 黄色大全在线观看 | 在线视频久 | 久久久久国产精品免费网站 | 色爱区综合激月婷婷 | 日韩精品1区2区 | 欧美精品久久久久久久免费 | 国产黄色片网站 | 91视频a| 精品视频久久久久久 | av大全在线看 | 99久久精品久久亚洲精品 | 午夜精品久久久久久久久久 | 91在线视频观看 | 久久久免费精品视频 | 国产精品一区免费观看 | 91九色pron| 日本超碰在线 | 国产精品永久免费视频 | 九热精品 | 亚洲影视九九影院在线观看 | 天堂网av 在线 | 欧美激情精品 | 国产精品99蜜臀久久不卡二区 | 我爱av激情网 | 黄色片网站av | 精品一二三区视频 | 久久久久亚洲精品中文字幕 | 欧美日韩在线网站 | 国产一区二区三区四区在线 | 黄色免费在线视频 | 91在线精品播放 | 久久精品综合一区 | 国产成人精品一区二区三区福利 | 国产精品成人久久久久久久 | 欧美久久久久久久久久久久久 | 亚洲黄色免费网站 | 2019免费中文字幕 | 成人精品视频 | 黄色免费网站下载 | 久久久久久久久免费 | av成人免费在线 | 亚洲成a人片在线www | 欧美资源在线观看 | 日韩精品一区二区不卡 | 视频在线亚洲 | 欧美日本一二三 | 在线日韩视频 | 国产精品精品久久久 | 最近日本韩国中文字幕 | 精品在线视频观看 | 精品国产成人在线影院 | 999视频在线播放 | 婷婷六月天丁香 | 久爱精品在线 | 综合久久一本 | 婷婷伊人五月 | 伊人伊成久久人综合网小说 | 91九色精品国产 | 欧美日韩在线播放一区 | 涩av在线 | 美女网站视频色 | 国产理论一区二区三区 | 少妇性bbb搡bbb爽爽爽欧美 | 免费av大全 | 天天射射天天 | 国外成人在线视频网站 | 极品中文字幕 | 午夜精品99久久免费 | 91av视频免费在线观看 | 少妇bbbb| 日韩中文字幕国产精品 | 免费在线观看一区二区三区 | 婷婷色在线视频 | 91精品久久久久久综合乱菊 | 欧美激情视频一区 | 亚洲国产日本 | 黄网站色| 欧美精品日韩 | 久久97久久| 99福利影院 | 在线亚洲人成电影网站色www | 在线观看完整版免费 | 中文字幕综合在线 | 国产精品视频免费观看 | 久草视频手机在线 | 免费碰碰 | 成年人在线免费看视频 | 国产精品国产自产拍高清av | 99热精品免费观看 | 精品久久片| 黄色一级在线视频 | 麻豆极品| 免费a级黄色毛片 | 免费高清av在线看 | 中文字幕免费看 | 超碰公开在线观看 | 欧美国产91 | 黄色免费观看 | 日韩av中文字幕在线免费观看 | av手机版 | 中文字幕乱码电影 | 欧美 国产 视频 | av高清在线观看 | 久久综合免费视频影院 | 亚洲成人动漫在线观看 | 91久草视频 | 亚洲另类视频在线 | 国产精品 国产精品 | 午夜久久影院 | 成人av一区二区兰花在线播放 | 久久久久女人精品毛片九一 | 黄a网| 欧美日韩视频网站 | 毛片网站观看 | 精品久久1 | 国产91全国探花系列在线播放 | 91亚洲永久精品 | 国产青春久久久国产毛片 | 免费看黄在线看 | 国产在线色视频 | 亚洲国产精品va在线看黑人 | 波多野结衣在线中文字幕 | www.五月激情.com | 国产亚洲精品中文字幕 | 亚洲国产精品va在线看黑人动漫 | 人人看人人草 | 亚洲精品视频第一页 | 婷婷丁香色 | 国产无遮挡又黄又爽在线观看 | 在线 你懂 | japanesefreesex中国少妇 | 国产婷婷视频在线 | 九九热.com| 美女视频免费一区二区 | 午夜av在线电影 | 亚洲欧美日韩国产精品一区午夜 | 丁香婷婷激情国产高清秒播 | 欧美一区中文字幕 | 特黄免费av | 五月天视频网 | 亚洲精选在线观看 | av免费高清观看 | 丁香激情五月 | 欧美日韩一区二区视频在线观看 | 国产色婷婷精品综合在线手机播放 | 久久涩视频 | 99精品视频精品精品视频 | 欧美一级在线观看视频 | 99高清视频有精品视频 | 午夜av一区二区三区 | 久久婷婷色综合 | 国产黄色网 | 日本乱码在线 | 国产理伦在线 | 色综合色综合久久综合频道88 | 成人国产精品入口 | 91精品国产麻豆 | 久久久久免费精品视频 | 日韩一级片观看 | 五月天激情视频在线观看 | 国产精品你懂的在线观看 | 超碰国产97 | 99视频精品视频高清免费 | 精品免费视频 | 国产理论一区二区三区 | 在线91视频 | 亚洲综合小说电影qvod | 国产精品中文字幕在线观看 | 综合色天天 | 99久久99久久精品国产片 | 又黄又爽又湿又无遮挡的在线视频 | 91大片网站 | 中文字幕在线视频一区二区 | 欧美一二在线 | 天天综合网 天天综合色 | 色婷婷综合久久久 | 狠狠躁夜夜av | 免费的黄色的网站 | av免费看电影 | 精品久久久久久国产91 | 日韩女同av | 天天草网站 | 丁香电影小说免费视频观看 | 国产色黄网站 | 久草视频视频在线播放 | 免费视频你懂得 | 天天鲁天天干天天射 | 成人激情开心网 | 日韩精品视频免费 | 午夜精品久久久久久久久久久 | 亚洲精品美女久久 | 97超级碰 | 在线视频手机国产 | 亚洲国产一区二区精品专区 | 亚洲一区二区三区四区在线视频 | 最新av网站在线观看 | 天天操天天透 | 国产高清在线观看av | 亚洲免费av电影 | 毛片一区二区 | 国产原创在线视频 | 国产黄色精品在线观看 | 二区在线播放 | 久草在线官网 | 日韩在线观看精品 | 一色av| 国产91精品欧美 | 久久综合久久伊人 | 在线观看色网 | 亚洲欧美综合 | 国产视频欧美视频 | 久久久久久久看片 | 国产免费又黄又爽 | 欧美激情xxxx性bbbb | 国产精品成久久久久 | 狠狠久久 | 色视频网站在线 | 色综合天天综合网国产成人网 | 天天射射天天 | 久久久久亚洲国产精品 | 亚洲精品视频在线播放 | 久草网视频 | 日韩在线网址 | 国产小视频免费观看 | 国偷自产视频一区二区久 | 中文超碰字幕 | 免费亚洲视频在线观看 | 国产91精品一区二区麻豆网站 | 日韩av二区 | 狠狠色网 | 国产精品美女久久久久久久久 | 99tvdz@gmail.com | 亚洲a资源 | av在线之家电影网站 | 天天爱天天操 | 久久综合免费视频影院 | 亚洲成人午夜在线 | 亚洲精品国产精品久久99热 | 免费欧美高清视频 | 国产精品久久久久一区二区三区 | 天天鲁一鲁摸一摸爽一爽 | 精品国产诱惑 | 国产丝袜制服在线 | 一区二区三区在线影院 | 欧美最猛性xxxxx亚洲精品 | 天天草天天插 | 黄色三级久久 | 亚洲精品美女久久久 | 午夜av免费看 | 中文字幕一区二区三区乱码不卡 | 麻豆首页| 国产 欧美 日本 | 99久久99视频只有精品 | 亚洲精品免费看 | 91精品国自产在线观看 | 毛片网站观看 | 亚洲欧洲精品一区 | 久久艹艹| 国产黄色大片免费看 | 婷婷六月丁 | 日韩美在线 | 黄色1级大片 | 亚洲精品 在线视频 | 亚洲欧美日韩精品一区二区 | 国产亚洲一区二区在线观看 | 精品久久久久久久久久岛国gif | 在线精品亚洲一区二区 | 人人射人人插 | 国产色综合天天综合网 | 久久久久高清 | 国产精品女同一区二区三区久久夜 | 欧美激情精品久久久 | 五月天狠狠操 | 欧美日韩国产精品久久 | 日韩天天操 | 国产91精品久久久久久 | 成年人app网址 | 黄影院| 免费视频三区 | 亚洲妇女av | 亚洲视屏在线播放 | 亚洲午夜精品一区 | 久久久国产精品人人片99精片欧美一 | 午夜免费福利片 | 欧美精品一区在线 | 国产99久久久国产 | 五月婷婷av在线 | 久久综合网色—综合色88 | 成av人电影| 九九久久婷婷 | 91丨九色丨国产女 | 欧美日韩在线免费视频 | 久久噜噜少妇网站 | a电影免费看 | 久草在线最新免费 | www.黄色片网站 | av片在线观看 | 国产九九热 | 午夜精品一区二区三区在线播放 | 欧美性猛片, | 国产高清 不卡 | 成人黄色电影免费观看 | 色资源网在线观看 | 国产伦理剧 | 亚洲国产影院av久久久久 | 国产精品av在线免费观看 | 国产日韩欧美在线看 | 欧美日韩性视频 | 亚洲一区二区三区四区在线视频 | 欧美日韩中文视频 | 国产精华国产精品 | 香蕉视频在线观看免费 | 日韩经典一区二区三区 | 成人久久精品 | 97超碰在线资源 | 久草在线官网 | 91九色在线观看 | 狠狠的干 | 999久久久 | 深爱婷婷| 成年人免费电影 | 日韩成人高清在线 | 狠狠网亚洲精品 | 啪啪激情网 | 日韩色av色资源 | 欧美成人性战久久 | 欧美二区视频 | 操操操操网 | 在线观看中文字幕av | 一区二区三区在线视频111 | 欧美另类重口 | 天天玩天天干天天操 | 伊人久久国产精品 | 欧美日韩在线看 | 久久人人精品 | 高清有码中文字幕 | 国内精品毛片 | 91网址在线观看 | 亚洲黄色影院 | 日日综合网 | 中文字幕国产亚洲 | 国产永久免费高清在线观看视频 | 欧美日韩视频免费看 | av短片在线观看 | www.色国产| 亚洲成人资源 | 亚洲精品在线网站 | 久久电影网站中文字幕 | 国产专区欧美专区 | www色av| 奇米影视四色8888 | 国产精品成人一区二区三区 | 国产精品白丝jk白祙 | 日韩美女黄色片 | 成人黄色在线播放 | 免费三级黄 | 精品美女在线观看 | 国产又黄又硬又爽 | 日韩在线高清免费视频 | 久久爱影视i | 91精品国产乱码 | 欧美国产精品久久久久久免费 | 久久免费电影 | 一区二区三区手机在线观看 | 欧美最新大片在线看 | 成人亚洲免费 | 菠萝菠萝蜜在线播放 | 四虎成人免费影院 | 91av色| 精品毛片一区二区免费看 | 国产小视频国产精品 | 视频 国产区 | 国产 在线 高清 精品 | 久久综合久久88 | 奇米影视999 | 麻豆视频免费在线播放 | 国产在线精品一区二区 | 91桃色在线免费观看 | 午夜91在线 | 国产精品国产三级国产不产一地 | 精品中文字幕在线观看 | 日本中文字幕视频 | 午夜久久久久久久久久影院 | 欧美一区二区在线免费看 | 国产精品都在这里 | 久久精品亚洲综合专区 | 日韩黄色一区 | 免费色av | 在线中文字幕网站 | 韩国av一区二区三区 | 免费日p视频 | 欧美一级电影免费观看 | 欧美国产高清 | 成人av免费 | 成人精品一区二区三区中文字幕 | 欧美精品乱码久久久久久 | 九九在线国产视频 | 天天精品视频 | 亚洲综合欧美日韩狠狠色 | 欧美黑人巨大xxxxx | 久久成人精品视频 | 久草在线资源免费 | 探花视频在线观看 | 99视频 | 亚洲精品成人av在线 | 国产精品国产三级国产aⅴ入口 | 久久九九网站 | 一本一道波多野毛片中文在线 | 国产精品美女久久久网av | 国产麻豆精品久久 | 国内揄拍国产精品 | 亚洲精品一区二区三区在线观看 | 日韩三级免费 | 人人看人人做人人澡 | 九九九九热精品免费视频点播观看 | 91精品啪在线观看国产线免费 | 中文区中文字幕免费看 | 极品久久久| 成人黄在线观看 | 久久视频这里有久久精品视频11 | 在线中文字幕av观看 | 日韩欧美视频免费在线观看 | 成人免费网站视频 | 国产精品对白一区二区三区 | 狠狠狠色丁香综合久久天下网 | 黄污视频大全 | 亚洲一区二区视频在线播放 | 日韩视频一二三区 | 91网在线看 | 久热av| 国产一区二区三区免费观看视频 | 国产手机视频精品 | 91av蜜桃 | 免费日韩一区二区三区 | 中国一级片视频 | 久久视频99| 五月激情丁香婷婷 | 99九九热只有国产精品 | 亚洲天堂va | 日韩视频三区 | 久久久久久久久久久久影院 | 国产免费大片 | 成人黄色短片 | 69精品视频在线观看 | 久久激情视频 | 开心激情五月婷婷 | 欧美一二三区在线播放 | 欧美日韩亚洲在线 | 欧美日韩国产二区三区 | 五月婷网站 | 一二三精品视频 | 日韩精品一区二区久久 | 亚洲在线网址 | 日韩在线观看精品 | 最新日韩在线 | 国产精品大片在线观看 | 天天干天天操天天爱 | 丁香久久久 | 国产精品久久电影观看 | 97在线免费观看视频 | 91综合在线| 91成人看片| 亚洲成人资源在线 | 成人播放器 | 亚洲成人av一区 | 9999在线| 又爽又黄又刺激的视频 | 免费观看久久 | 成人动漫精品一区二区 | 黄色av成人在线观看 | 国产一二三精品 | 久久精品一区八戒影视 | 91精品在线免费观看视频 | 亚洲精品在线观看免费 | 在线高清av| 国产一级在线播放 | 五月天色网站 | 综合激情网... | www.狠狠色.com| 97网在线观看 | 操操操日日日干干干 | 午夜色大片在线观看 | 超级碰碰碰免费视频 | 欧美成人精品欧美一级乱黄 | 色资源在线观看 | www,黄视频 | 在线国产片 | 国产精品久久久久久久久免费 | 欧美日韩二区三区 | 国产高清不卡 | 国产剧情av在线播放 | 中文字幕在线日本 | 丁香电影小说免费视频观看 | 亚洲免费在线观看视频 | 久久精品一区二区三区视频 | 丁香花在线观看视频在线 | 日韩在线免费观看视频 | 国产成人精品一区二区在线观看 | 国产精品影音先锋 | 99热国内精品| 久久综合久色欧美综合狠狠 | 亚洲精品美女免费 | 三级黄免费看 | 亚洲黄色一级大片 | 亚洲精品午夜视频 | 97国产在线观看 | 婷婷国产在线 | 日本福利视频在线 | 成人国产精品av | av综合站| 国产三级午夜理伦三级 | 久久99热这里只有精品 | 2018好看的中文在线观看 | 蜜臀av网址 | 一区二区影院 | 中文字幕一区三区 | 国产又粗又猛又爽又黄的视频先 | 亚洲精品www. | 久久久久欧美精品 | 91中文字幕一区 | 久久成熟| 欧美成年人在线视频 | 97色综合 | av免费在线看网站 | 在线视频 国产 日韩 | 操操操av | 国产一卡在线 | 少妇性bbb搡bbb爽爽爽欧美 | 国产精品高潮呻吟久久久久 | 中文字幕精品在线 | 国产伦理久久精品久久久久_ | 精品国产乱子伦一区二区 | 欧美日韩性生活 | 亚洲 综合 激情 | 欧美久久久久久久久 | 丁香资源影视免费观看 | 久久久国产精品一区二区中文 | 日本精品久久久久 | 五月天电影免费在线观看一区 | 日本在线观看一区 | 91精品国自产在线观看 | 在线观看av麻豆 | 日韩av影视| 98超碰人人| 国产精品18videosex性欧美 | 黄色一区二区在线观看 | 午夜影视av| 日韩精品视频网站 | 日韩一区二区三免费高清在线观看 | 丁香花在线观看免费完整版视频 | 人人要人人澡人人爽人人dvd | 精油按摩av | 中文字幕在线看视频国产 | 欧美一区在线观看视频 | 欧美国产日韩在线视频 | 国内精品久久久久久久97牛牛 | 精品国产成人在线 | 99精品久久精品一区二区 | 中文字幕中文字幕在线中文字幕三区 | 在线观看日韩专区 | 五月婷在线视频 | 久久影院中文字幕 | 欧美日韩精品区 | 日韩中文字幕电影 | 国产毛片久久久 | 亚洲一级二级 | 日韩午夜高清 | 久久黄色网址 | 激情久久久 | 黄色精品网站 | 婷婷国产精品 | 欧美日韩中文在线观看 | 亚洲第一区在线播放 | 亚洲精品在线免费观看视频 | 婷婷中文字幕 | 久 久久影院 | 亚洲欧洲中文日韩久久av乱码 | 99热都是精品 | 在线观看视频一区二区三区 | 久久天| 国产精品黄色在线观看 | 99久久精品久久久久久动态片 | 美女久久99| 夜夜操天天干 | 成人高清av在线 | 久久久久影视 | 午夜精品一区二区三区视频免费看 | 就要色综合 | 久久99久久99精品免观看粉嫩 | wwwww.国产 | 五月婷婷在线播放 | 天堂av免费看 | 少妇按摩av| 特级西西www44高清大胆图片 | 免费高清无人区完整版 | 福利视频午夜 | 亚洲欧洲xxxx | 久久久久久久久久毛片 | 手机av在线免费观看 | 西西4444www大胆艺术 | 国产精品av久久久久久无 | 国产日本亚洲高清 | 欧美另类色图 | 中文字幕在线字幕中文 | 欧美精品三级 | 国产极品尤物在线 | 人人爽人人爽人人片av免 | av在线激情| 国内精品在线一区 | 国产成人一二三 | 免费的国产精品 | 日韩精品欧美专区 | 国产成人精品一区在线 | 欧美成年性 | 狠狠干干 | 国产免费视频在线 | 成人播放器 | 国产精品99久久久久的智能播放 | 国产盗摄精品一区二区 | 国产精品丝袜在线 | 国产91在线免费视频 | 欧美精品第一 | 91在线文字幕 | 国产精品99爱 | 国产精品视频专区 | 视频一区二区精品 | 国产精品久久久久久久免费大片 | 91网在线看| 手机av在线网站 | 在线 你懂 | 人人精久 | 91中文字幕在线播放 | 午夜体验区 | 久久婷综合 | 五月天综合色 | 黄色午夜 | av黄色av | 亚洲砖区区免费 | 国产精品18久久久久久久网站 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 亚洲国产美女精品久久久久∴ | 亚洲精品人人 | 日日躁天天躁 | 免费看的黄网站软件 | 日韩久久精品一区 | 最新av免费 | 亚洲成a人片综合在线 | 久久精品视频在线免费观看 | 日韩欧美极品 | 久久av不卡| 国产精品一区在线播放 | 精品欧美一区二区精品久久 | av综合在线观看 | 亚洲欧美日韩不卡 | 伊人看片| 66av99精品福利视频在线 | 97视频人人澡人人爽 | 欧美日韩一区二区视频在线观看 | 四虎国产视频 | 午夜美女福利直播 | 亚洲欧美一区二区三区孕妇写真 | 亚洲人人爱 | 一区二区三区免费 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 亚洲少妇自拍 | 日韩欧美高清视频在线观看 | 人人玩人人爽 | www.91国产 | 成年人免费电影 | 国产精品自在线拍国产 | 欧美日韩高清在线观看 | 成人av中文字幕在线观看 | 国产不卡在线观看 | av网站在线免费观看 | 国产不卡毛片 | 97综合在线| 狂野欧美激情性xxxx欧美 | a午夜电影| 91麻豆国产福利在线观看 | 日本女人在线观看 | 精品在线观看免费 | 免费观看全黄做爰大片国产 | 亚洲日本一区二区在线 | 成人影视免费 | 精品久久久久免费极品大片 | 麻豆久久久 | 欧美韩日在线 | 黄色小网站在线观看 | 亚洲精品av中文字幕在线在线 | 免费色黄| 91.精品高清在线观看 | 亚洲午夜激情网 | 免费欧美精品 | www.亚洲精品在线 | 深夜免费福利 | 99久久99久久精品国产片果冰 | 午夜久久久影院 | 狠狠躁夜夜a产精品视频 | 国产精品成久久久久三级 | 国产精品com | 香蕉视频91 | 精品一二 | 国产一区免费在线 | 久久综合99| 免费看色视频 | 久久成人在线 | 成人av亚洲 | 欧美日韩精品在线视频 | 国产成人精品综合久久久 | av中文字幕日韩 | 久久国产视频网站 | 91精品视频免费看 | 久久久久久久影院 | 国产在线播放一区二区三区 | 久久午夜精品 | 亚洲国产精品久久久久 | 欧美日韩伦理一区 | 久久www免费视频 | 国产精品18久久久久白浆 | 天天摸天天操天天爽 | 激情欧美xxxx| 久久韩国免费视频 | 人人干天天射 | 成人免费亚洲 | 久久综合色播五月 | 中文字幕av免费观看 | 国产精品电影一区 | 免费看片成年人 | 国产高清不卡在线 | 国产亚洲视频在线免费观看 | 国产视频一 | 麻豆久久久 | 日韩二三区 | 久久久久久久久久久福利 | 国产精品久久久久久久久久久免费 | 玖玖玖在线观看 | 999久久久久久| 看国产黄色片 | 久久久天堂 | 中文字幕免费高清av | 一区二区三区手机在线观看 | 91在线观看视频网站 | a亚洲视频 | 久久人人爽人人片 | 亚洲精品久久久久久久蜜桃 | 日韩欧美在线观看一区二区 | 日韩性久久 | 在线观看 国产 | 在线观看av麻豆 | 奇米影视8888| 免费麻豆视频 | av在线短片 | 欧美a√大片 | 国产91精品看黄网站在线观看动漫 | 国产成人精品一区二区在线 | 97视频在线 | 日日夜夜干 | 国产一区二区不卡视频 | 中文资源在线播放 | 亚洲视频观看 |