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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Django学习笔记2

發(fā)布時(shí)間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django学习笔记2 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Django第一個(gè)簡易項(xiàng)目理解框架

在理解了Django框架的基本目錄結(jié)構(gòu)之后,為了更好的理解框架的流程,我們通過一個(gè)簡易項(xiàng)目來實(shí)踐一下,上面的目錄可總結(jié)為:在templates文件夾中寫前端頁面,在settings中進(jìn)行Django基本配置,在app下的models中寫數(shù)據(jù)庫相關(guān),在url中寫路徑的對應(yīng)關(guān)系,在views中寫請求處理。

下面的項(xiàng)目就對這些文件一個(gè)個(gè)進(jìn)行書寫。

配置相關(guān)

首先是各種配置的書寫,一下都是在setting文件中的配置

1、理解settings文件中的BASE_DIR

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

這句話是獲取項(xiàng)目的根路徑,后面會用到。

2、在最初的時(shí)候先禁用csrf相關(guān)

MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware', 在此禁用,一般在setting中的47行左右
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

3、確認(rèn)APP是否注冊

如果是在pycharm中創(chuàng)建的APP,一般都會在setting文件中自動(dòng)注冊,格式如下,如果沒有請手動(dòng)添加

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'book_system.apps.BookSystemConfig', # 這行是app的注冊語句 book_system是app名 ]

4、配置template文件夾的位置

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')] # 在此處配置,該DIRS是一個(gè)列表,可以配置多個(gè)
,
'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',
],
},
},
]

5、配置靜態(tài)文件存放的位置(本篇可不用此設(shè)置)

# 靜態(tài)文件保存目錄的別名
STATIC_URL = '/static/'

# 所有靜態(tài)文件(css/js/圖片)都放在我下面你配置的文件夾中,同樣是列表,路徑可以多個(gè)
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]

6、配置數(shù)據(jù)庫相關(guān)

這里編者是用的mysql數(shù)據(jù)庫,然后連接的數(shù)據(jù)庫名字為'booksystem',

第一步------在settings文件中寫下如下配置,先將原DATABASE注釋掉

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'booksystem', # 數(shù)據(jù)庫的名字
'HOST': '127.0.0.1',
'PORT': 3306,
'USER': 'root', # mysql數(shù)據(jù)庫的用戶名
'PASSWORD': 'root', # 密碼
}
}

第二步------告訴Django用pymysql代替默認(rèn)的MySQLDB 連接MySQL數(shù)據(jù)庫

在項(xiàng)目/__init__.py文件中,寫下面兩句:
import pymysql
# 告訴Django用pymysql來代替默認(rèn)的MySQLdb
pymysql.install_as_MySQLdb()

恭喜你,至此你的配置環(huán)節(jié)已經(jīng)結(jié)束

數(shù)據(jù)庫和models表的建立

1、自己動(dòng)手創(chuàng)建數(shù)據(jù)庫
create database booksystem;

2、在創(chuàng)建的APP目錄下的models.py下寫下如下類,可在創(chuàng)建的空數(shù)據(jù)庫中創(chuàng)建一系列的表

from django.db import models# Create your models here.# 出版社類 class Publisher(models.Model):id = models.AutoField(primary_key=True) # 自增的ID主鍵# 創(chuàng)建一個(gè)varchar(64)的唯一的不為空的字段name = models.CharField(max_length=64, null=False, unique=True)def __str__(self):return "<Author object>: {}".format(self.name)# 書類 class Book(models.Model):id = models.AutoField(primary_key=True)# 創(chuàng)建一個(gè)varchar(64)的唯一的不為空的字段tittle = models.CharField(max_length=64, null=False, unique=True)# 和出版者關(guān)聯(lián)的外鍵字段publisher = models.ForeignKey(to="Publisher") # 設(shè)置書籍連接到出版者的外鍵# 數(shù)據(jù)庫自動(dòng)生成的外鍵會自動(dòng)加上_iddef __str__(self):return "<Author object>: {}".format(self.tittle)# 作者類 class Author(models.Model):id = models.AutoField(primary_key=True)name = models.CharField(max_length=16, null=False, unique=True)book = models.ManyToManyField(to="Book") # 創(chuàng)建作者表和書籍表多對多的關(guān)系# 多對多的關(guān)系會在數(shù)據(jù)庫中另創(chuàng)建一個(gè)新的對應(yīng)關(guān)系表,只存放id的對應(yīng)關(guān)系def __str__(self):return "<Author object>: {}".format(self.name)

3、使創(chuàng)建的表結(jié)構(gòu)通過django命令映射到數(shù)據(jù)庫

(1). python manage.py makemigrations --> 把models.py里面的更改記錄到小本本(相應(yīng)APP的migrations文件夾下)
(2). python manage.py migrate? ? ? ? ? ? ? --> 把更改翻譯成SQL語句,去數(shù)據(jù)庫執(zhí)行、

如果在pycharm環(huán)境中可以選擇Tools-->Run manage.py task,然后會在下方彈出如下界面

在后面輸入makemigration [appname]和migrate?[appname]可以達(dá)到和如上一樣的結(jié)果,執(zhí)行完畢會在對應(yīng)的數(shù)據(jù)庫下創(chuàng)建各種表

3、自動(dòng)創(chuàng)建的數(shù)據(jù)表在數(shù)據(jù)庫中的結(jié)構(gòu)如下

四個(gè)主要的表結(jié)構(gòu)如下所示

到這,數(shù)據(jù)庫結(jié)構(gòu)的創(chuàng)建已經(jīng)結(jié)束,向表中填寫數(shù)據(jù)即可使用

url的路徑關(guān)系及處理函數(shù)

1、數(shù)據(jù)庫構(gòu)建完成后,我們著手于對訪問地址的解析,寫url的路徑關(guān)系

"""bookdjango URL ConfigurationThe `urlpatterns` list routes URLs to views. For more information please see:https://docs.djangoproject.com/en/1.11/topics/http/urls/ Examples: Function views1. Add an import: from my_app import views2. Add a URL to urlpatterns: url(r'^$', views.home, name='home') Class-based views1. Add an import: from other_app.views import Home2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') Including another URLconf1. Import the include() function: from django.conf.urls import url, include2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) """ from django.conf.urls import url from django.contrib import admin from book_system import viewsurlpatterns = [url(r'^admin/', admin.site.urls),# 出版社的對應(yīng)關(guān)系url(r'^publisher_list/', views.publisher_list),url(r'^add_publisher/', views.add_publisher),url(r'^delete_publisher/', views.delete_publisher),url(r'^edit_publisher/', views.edit_publisher),# 書的對應(yīng)關(guān)系url(r'^book_list/', views.book_list),url(r'^add_book/', views.add_book),url(r'^delete_book/', views.delete_book),url(r'^edit_book/', views.edit_book),# 作者的對應(yīng)關(guān)系url(r'^author_list/', views.author_list),url(r'^add_author/', views.add_author),url(r'^delete_author/', views.delete_author),url(r'^edit_author/', views.edit_author),url(r'^author_list1/', views.author_list1),] 與項(xiàng)目目錄同名的目錄下的urls文件中代碼

url函數(shù)的第一個(gè)參數(shù)為正則表達(dá)式,匹配接收的網(wǎng)址路徑,匹配上了就交給后面第二個(gè)參數(shù)的函數(shù)處理

我們這里的函數(shù)寫在了APP目錄下的views模塊里,也就是book_system中,根據(jù)需要把import那一行導(dǎo)入改成自己的APP

2、有了路徑解析函數(shù),下面寫請求處理函數(shù)

在book_system下的views.py中寫下路徑處理函數(shù)

from django.shortcuts import render, redirect, HttpResponse from book_system import models# Create your views here.def publisher_list(request):# 去數(shù)據(jù)庫查出所有的出版社,填充到html中,給用戶界面ret = models.Publisher.objects.all().order_by("id")return render(request, "publisher_list.html", {"publisher_list": ret})def add_publisher(request):error_msg = ""if request.method == "POST":new_name = request.POST.get("publisher_name")if new_name:models.Publisher.objects.create(name=new_name)return redirect("/publisher_list/")else:error_msg = "出版社的名字不能為空"return render(request, "add_publisher.html", {"error": error_msg})def delete_publisher(request):del_id = request.GET.get("id")if del_id:del_obj = models.Publisher.objects.get(id=del_id) # 這里的id相當(dāng)于where語句 del_obj.delete()return redirect("/publisher_list/")else:return HttpResponse("您要?jiǎng)h除的數(shù)據(jù)不存在")def edit_publisher(request):if request.method == "POST":publisher_id = request.POST.get("id")publisher_name = request.POST.get("publisher_name")publisher = models.Publisher.objects.get(id=publisher_id)publisher.name = publisher_namepublisher.save()return redirect("/publisher_list/")else:edit_id = request.GET.get("id")print(models.Publisher.objects)edit_obj = models.Publisher.objects.get(id=edit_id)return render(request, "edit_publisher.html", {"edit_obj": edit_obj})# book的相關(guān)試圖操作 def book_list(request):# 去數(shù)據(jù)庫查出所有的書籍,填充到html中,給用戶界面ret = models.Book.objects.all().order_by("id")return render(request, "book_list.html", {"book_list": ret})def add_book(request):error_msg = ""ret = models.Publisher.objects.all()if request.method == "POST":new_name = request.POST.get("book_name")new_publisher_id = request.POST.get("publisher")if new_name:models.Book.objects.create(tittle=new_name, publisher_id=new_publisher_id)return redirect("/book_list/")else:error_msg = "書本的名字不能為空"return render(request, "add_book.html", {"error": error_msg,"publisher_list": ret})def delete_book(request):del_id = request.GET.get("id")if del_id:del_obj = models.Book.objects.get(id=del_id) # 這里的id相當(dāng)于where語句 del_obj.delete()return redirect("/book_list/")else:return HttpResponse("您要?jiǎng)h除的數(shù)據(jù)不存在")def edit_book(request):ret = models.Publisher.objects.all()if request.method == "POST":book_id = request.POST.get("id")book_tittle = request.POST.get("book_tittle")book_publisher_id = request.POST.get("publisher")book = models.Book.objects.get(id=book_id)book.tittle = book_tittlebook.publisher_id = book_publisher_idbook.save()return redirect("/book_list/")else:edit_id = request.GET.get("id")print(models.Book.objects)edit_obj = models.Book.objects.get(id=edit_id)return render(request, "edit_book.html", {"edit_obj": edit_obj,"publisher_list": ret})def author_list(request):all_author = models.Author.objects.all()return render(request, "author_list.html", {"author_list": all_author})def add_author(request):error_msg = ""ret = models.Book.objects.all()if request.method == "POST":new_name = request.POST.get("author_name")new_books_id = request.POST.getlist("books")if new_name:new_book_obj = models.Author.objects.create(name=new_name)new_book_obj.book.set(new_books_id) # 自動(dòng)保存,不用savereturn redirect("/author_list/")else:error_msg = "作者的名字不能為空"return render(request, "add_author.html", {"error": error_msg,"book_list": ret})def delete_author(request):del_id = request.GET.get("id")if del_id:models.Author.objects.get(id=del_id).delete() # 這里的id相當(dāng)于where語句return redirect("/author_list/")else:return HttpResponse("您要?jiǎng)h除的數(shù)據(jù)不存在")def edit_author(request):if request.method == "POST":old_id = request.POST.get("author_id")old_obj = models.Author.objects.get(id=old_id)new_name = request.POST.get("author_name")new_books_id = request.POST.getlist("books")print(new_books_id)# 更新old_obj.name = new_nameold_obj.book.set(new_books_id) # 自動(dòng)保存,不用save old_obj.save()return redirect("/author_list/")edit_author_id = request.GET.get("id")edit_author_obj = models.Author.objects.get(id=edit_author_id)ret = models.Book.objects.all()return render(request, "edit_author.html", {"author": edit_author_obj,"book_list": ret,})def author_list1(request):return render(request, "author_list1.html") APP目錄下的views.py中的代碼

有了路徑處理函數(shù)還遠(yuǎn)遠(yuǎn)不夠,還需要html文件來配合顯示

3、一下文件再都存放在項(xiàng)目根目錄下的templates目錄下

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>添加作者</title> </head> <body> <h1>添加作者信息</h1> <form action="/add_author/" method="post"><p>姓名:<input type="text" name="author_name"></p><p>著作:<select multiple name="books">{% for book in book_list %}<option value="{{ book.id }}">{{ book.tittle }}</option>{% endfor %}</select></p><input type="submit" value="提交"><p style="color: red;">{{ error }}</p> </form> </body> </html> add_author.html <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>添加書籍</title> </head> <body> <h1>添加書籍信息</h1> <form action="/add_book/" method="post"><p>書名:<input type="text" name="book_name"></p><p><select name="publisher">{% for publisher in publisher_list %}<option value="{{ publisher.id }}">{{ publisher.name }}</option>{% endfor %}</select></p><input type="submit" value="提交"><p style="color: red;">{{ error }}</p> </form> </body> </html> add_book.html <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title> </head> <body> <h1>添加出版社</h1> <form action="/add_publisher/" method="post"><input type="text" name="publisher_name"><input type="submit" value="提交"><p style="color: red;">{{ error }}</p> </form> </body> </html> add_publisher.html <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>作者列表</title> </head> <body> {# a標(biāo)簽指向的位置找的也是urls.py文件中的對應(yīng)關(guān)系的key。并不是直接找同級目錄下的文件#} <a href="/add_author/">添加新的作者信息</a> <table border="1"><thead><tr><th>ID</th><th>姓名</th><th>作品</th><th>操作</th></tr></thead><tbady>{% for author in author_list %}<tr><td>{{ author.id }}</td><td>{{ author.name }}</td><td>{% for book in author.book.all %}{{ book.tittle }}&nbsp;{% endfor %}</td><td><a href="/delete_author/?id={{ author.id }}">刪除</a><a href="/edit_author/?id={{ author.id }}">編輯</a></td></tr>{% endfor %}</tbady> </table> </body> </html> author_list.html <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>書籍列表</title> </head> <body> {# a標(biāo)簽指向的位置找的也是urls.py文件中的對應(yīng)關(guān)系的key。并不是直接找同級目錄下的文件#} <a href="/add_book/">添加新的書籍信息</a> <table border="1"><thead><tr><th>ID</th><th>書名</th><th>出版社名稱</th><th>操作</th></tr></thead><tbady>{% for book in book_list %}<tr><td>{{ book.id }}</td><td>{{ book.tittle }}</td><td>{{ book.publisher.name }}</td><td><a href="/delete_book/?id={{ book.id }}">刪除</a><a href="/edit_book/?id={{ book.id }}">編輯</a></td></tr>{% endfor %}</tbady> </table> </body> </html> book_list.html <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>編輯作者</title> </head> <body> <h1>編輯作者信息</h1> <form action="/edit_author/" method="post"><input type="text" name="author_id" value="{{ author.id }}" style="display: none"> {{ author.id }}<p>姓名:<input type="text" name="author_name" value="{{ author.name }}"></p><p>著作:<select multiple name="books">{% for book in book_list %}{% if book in author.book.all %}<option selected value="{{ book.id }}">{{ book.tittle }}</option>{% else %}<option value="{{ book.id }}">{{ book.tittle }}</option>{% endif %}{% endfor %}</select></p><input type="submit" value="提交"><p style="color: red;">{{ error }}</p> </form> </body> </html> edit_author.html <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>編輯書籍信息</title> </head> <body> <h1>編輯書籍信息</h1> <form action="/edit_book/" method="post"><input type="text" name="id" value="{{ edit_obj.id }}" style="display: none;"><p><input type="text" name="book_tittle" value="{{ edit_obj.tittle }}"></p>{# <input type="text" name="publisher_name" value="{{ edit_obj.name }}">#}<p><select name="publisher">{% for publisher in publisher_list %}{% if edit_obj.publisher_id == publisher.id %}<option selected value="{{ publisher.id }}">{{ publisher.name }}</option>{% else %}<option value="{{ publisher.id }}">{{ publisher.name }}</option>{% endif %}{% endfor %}</select></p><input type="submit" value="提交"><p style="color: red;">{{ error }}</p> </form> </body> </html> edit_book.html <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>編輯出版社</title> </head> <body> <h1>編輯出版社</h1> <form action="/edit_publisher/" method="post"><input type="text" name="id" value="{{ edit_obj.id }}" style="display: none;"><input type="text" name="publisher_name" value="{{ edit_obj.name }}"><input type="submit" value="提交"><p style="color: red;">{{ error }}</p> </form> </body> </html> edit_publisher.html <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>出版社列表</title> </head> <body> {# a標(biāo)簽指向的位置找的也是urls.py文件中的對應(yīng)關(guān)系的key。并不是直接找同級目錄下的文件#} <a href="/add_publisher/">添加新的出版社</a> <table border="1"><thead><tr><th>序號</th><th>ID</th><th>出版社名稱</th><th>操作</th></tr></thead><tbady>{% for publisher in publisher_list %}<tr><td>{{ forloop.counter }}</td><td>{{ publisher.id }}</td><td>{{ publisher.name }}</td><td><a href="/delete_publisher/?id={{ publisher.id }}">刪除</a><a href="/edit_publisher/?id={{ publisher.id }}">編輯</a></td></tr>{% endfor %}</tbady> </table> </body> </html> publisher_list.html

此時(shí)可以點(diǎn)運(yùn)行,看看成果了,在8000后面加上下方數(shù)字后面的list即可操作書籍系統(tǒng)

Django中各種路徑的尋址

1、網(wǎng)頁地址欄

類似于在網(wǎng)頁地址欄中輸入127.0.0.1:8000/publisher_list/,尋找的是項(xiàng)目同名目錄下的urls.py中的urlpatterns列表

urlpatterns = [url(r'^admin/', admin.site.urls),# 出版社的對應(yīng)關(guān)系url(r'^publisher_list/', views.publisher_list),# 書的對應(yīng)關(guān)系url(r'^book_list/', views.book_list),# 作者的對應(yīng)關(guān)系url(r'^author_list/', views.author_list), ]

  url函數(shù)的第一個(gè)參數(shù)為正則表達(dá)式,表示匹配127.0.0.1:8000/后面的路徑,然后尋找相應(yīng)的路徑處理函數(shù),這里有一個(gè)注意的地方就是在瀏覽器輸入尾部帶斜線和不帶斜線的路徑時(shí),都能匹配到結(jié)果,例如:輸入127.0.0.1:8000/publisher_list?和?127.0.0.1:8000/publisher_list/?時(shí)都能匹配到url(r'^publisher_list/', views.publisher_list),這不是因?yàn)闉g覽器會自動(dòng)補(bǔ)全,是因?yàn)镈jango中默認(rèn)配置會補(bǔ)全斜線如果在settings.py中加入APPEND_SLASH = False,這時(shí),地址欄訪問就不會自動(dòng)補(bǔ)全斜線。

2、views.py里render返回時(shí)尋址

render(request, "publisher_list.html", {"publisher_list": ret})

render函數(shù)第二個(gè)參數(shù)為settings中TEMPLATES列表"DIRS"下面路勁的相對路徑

3、views.py里render返回時(shí)尋址

redirect("/publisher_list/")

重定向函數(shù),和第一點(diǎn)一樣,尋找的是項(xiàng)目同名目錄下的urls.py中的urlpatterns列表

4、html文件中form表單action尋址

和第一點(diǎn)一樣,尋找的是項(xiàng)目同名目錄下的urls.py中的urlpatterns列表

5、html文件中a標(biāo)簽尋址

和第一點(diǎn)一樣,尋找的是項(xiàng)目同名目錄下的urls.py中的urlpatterns列表

6、img和script下的src和link下的href

這兩者一般都會帶有靜態(tài)文件的別名,一般去settings文件下STATIC_URL去尋找

Django配置文件settings詳解

ADMINS

默認(rèn)值:[ ](空列表)

所有獲得代碼錯(cuò)誤通知的人的郵件地址列表。當(dāng)DEBUG=False,并且一個(gè)視圖引發(fā)了異常時(shí),Django將會給這個(gè)列表里的人發(fā)一封含有完整異常信息的電子郵件。列表中的每個(gè)項(xiàng)目都應(yīng)該是(全名,電子郵件地址)的元組。例如:

[('John', 'john@example.com'), ('Mary', 'mary@example.com')]

ALLOWED_HOSTS

默認(rèn)值:[ ](空列表)

這是新手比較困惑的一個(gè)配置項(xiàng)。該配置項(xiàng)列表中包含的是Django站點(diǎn)可以為之提供服務(wù)的主機(jī)/域名。也就是哪些主機(jī)或IP能夠訪問Django服務(wù)器!列表里的所有元素是同級的,并存的

列表中的值可以是localhost、www.example.com或者.example.com形式的域名。

也可以是IP地址,比如:137.2.4.1、192.168.1.1、0.0.0.0、127.0.0.1

還可以是通配符’*’,表示所有外部主機(jī)都可以訪問Django。但這種情況具有安全風(fēng)險(xiǎn),在線上環(huán)境不要使用。

對于0.0.0.0,表示局域網(wǎng)內(nèi)的主機(jī)都可以訪問Django。

當(dāng)DEBUG為True和ALLOWED_HOSTS為空時(shí),默認(rèn)相當(dāng)于配置:[‘localhost’, ‘127.0.0.1’, ‘[:: 1]’]。--------------127.0.0.1(IPv4)和[::1](IPv6)。

APPEND_SLASH

默認(rèn)值:True

當(dāng)設(shè)定為True時(shí),如果請求的URL沒有匹配到URLconf里面的任何一條URL路由設(shè)置,并且沒有以/(斜杠)結(jié)束,該請求將重定向到以請求URL加/的URL地址。需要注意的是重定向有可能導(dǎo)致POST提交的數(shù)據(jù)丟失。

APPEND_SLASH設(shè)置只有在安裝了CommonMiddleware中間件時(shí)才會啟用。

DATABASES

# 數(shù)據(jù)庫配置 DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql', # 數(shù)據(jù)庫驅(qū)動(dòng)名'NAME': 'mydatabase', # 數(shù)據(jù)庫名稱'USER': 'mydatabaseuser', # 用戶名'PASSWORD': 'mypassword', # 密碼'HOST': '127.0.0.1', # 數(shù)據(jù)庫所在的主機(jī)。'PORT': '3306', # 端口號} }

  其中ENGINE指定使用的數(shù)據(jù)庫后端。 內(nèi)建的數(shù)據(jù)庫后端名稱有:

'django.db.backends.postgresql' 'django.db.backends.mysql' 'django.db.backends.sqlite3' 'django.db.backends.oracle'

  Django默認(rèn)使用sqlite數(shù)據(jù)庫,以文件的形式存在。當(dāng)使用sqlite為數(shù)據(jù)庫時(shí)只需要配置上述NAME屬性為數(shù)據(jù)庫文件的完整路徑。指定路徑時(shí),請始終使用前向的斜杠,即使在Windows 上(例如C:/homes/user/mysite/sqlite3.db)。

DEBUG

  打開/關(guān)閉調(diào)試模式。最重要的設(shè)置之一!默認(rèn)值是False,你沒有看錯(cuò)!只是在settings.py中又幫我們設(shè)置為True了,打開了調(diào)試模式,方便開發(fā)者和測試者的!線上部署網(wǎng)站的時(shí)候務(wù)必設(shè)置為False。

調(diào)試模式下可以顯示錯(cuò)誤頁面的細(xì)節(jié)。若你的應(yīng)用產(chǎn)生了一個(gè)異常,Django會顯示追溯細(xì)節(jié),包括許多環(huán)境變量的元數(shù)據(jù), 比如所有當(dāng)前定義的Django設(shè)置。

DEFAULT_CHARSET

默認(rèn)值:’utf-8’

HttpResponse響應(yīng)對象的默認(rèn)字符集。

DEFAULT_CONTENT_TYPE

默認(rèn)值:’text/html’

HttpResponse對象的默認(rèn)內(nèi)容類型。

DEFAULT_FROM_EMAIL


默認(rèn)值:’webmaster@localhost’

默認(rèn)的電子郵件發(fā)送地址,即發(fā)送方。

INSTALLED_APPS

Django核心配置項(xiàng)!

當(dāng)前Django項(xiàng)目中啟用的app列表。 每個(gè)元素應(yīng)該是一個(gè)Python的點(diǎn)分路徑,字符串格式:

項(xiàng)目內(nèi)每個(gè)啟用的app,包括Django內(nèi)置的contrib都必須在這個(gè)列表里注冊,否則創(chuàng)建數(shù)據(jù)表、調(diào)用功能等等都無法進(jìn)行。

一個(gè)典型的配置如下:

# app注冊 INSTALLED_APPS = ['app1', # 將自定義模塊注冊到項(xiàng)目中'app2', # 將自定義模塊注冊到項(xiàng)目中'django.contrib.admin', # admin站點(diǎn)'django.contrib.auth', # 身份認(rèn)證系統(tǒng)'django.contrib.contenttypes', # 內(nèi)容類型框架'django.contrib.sessions', # 會話框架'django.contrib.messages', # 消息框架'django.contrib.staticfiles', # 靜態(tài)文件管理框架 ]

LANGUAGE_CODE

默認(rèn)值:’en-us’

當(dāng)前項(xiàng)目所使用的語言。默認(rèn)為英語。漢語是zh-hans,千萬不要寫成別的,比如‘chinese’之類!

USE_I18N必須設(shè)置為True才能使LANGUAGE_CODE生效。

TIME_ZONE

默認(rèn):’America/Chicago’

時(shí)區(qū)設(shè)置。

注意,這個(gè)配置項(xiàng)的值不一定要和服務(wù)器的時(shí)區(qū)一致。例如,一個(gè)服務(wù)器可上可能有多個(gè)Django站點(diǎn),每個(gè)站點(diǎn)都有一個(gè)單獨(dú)的時(shí)區(qū)設(shè)置。

如果要設(shè)為中國時(shí)間,也就是北京時(shí)間,請賦值:TIME_ZONE = ‘Asia/Shanghai’。注意是上海,不是北京,囧!

當(dāng)USE_TZ為False時(shí),它將成為Django存儲所有日期和時(shí)間數(shù)據(jù)時(shí),使用的時(shí)區(qū)。 當(dāng)USE_TZ為True 時(shí),它是Django顯示模板中的時(shí)間,解釋表單中的日期,使用的時(shí)區(qū)。所以,通常我們都將USE_TZ同時(shí)設(shè)置為False!

注:在Windows 環(huán)境中,Django不能可靠地交替其它時(shí)區(qū)。如果你在Windows上運(yùn)行Django,TIME_ZONE必須設(shè)置為與系統(tǒng)時(shí)區(qū)一致。

MEDIA_ROOT

默認(rèn)值:”(空字符串)

用戶上傳的文件,所在目錄的,文件系統(tǒng)絕對路徑。也就是指示上傳文件放到哪里。

例如: “/var/www/example.com/media/”

警告:MEDIA_ROOT和STATIC_ROOT必須設(shè)置為不同的值。

MEDIA_URL

默認(rèn)值:”(空字符串)

MEDIA_URL指向MEDIA_ROOT所指定的media文件,用來管理保存的文件。該URL設(shè)置為非空值時(shí),必須以斜杠“/”結(jié)束。

若你打算在模版中使用{{ MEDIA_URL }},必須在TEMPLATES的context_processors設(shè)置中添加django.template.context_processors.media。

警告:MEDIA_URL和STATIC_URL必須設(shè)置為不同的值。

SECRET_KEY

當(dāng)前Django項(xiàng)目實(shí)例的密鑰。用于提供cryptographic簽名,是一個(gè)唯一的并且不可預(yù)測的值。

TEMPLATES

Django模板系統(tǒng)相關(guān)的配置。列表中每一項(xiàng)都是一個(gè)字典類型數(shù)據(jù)(類似DATABASE配置),可以配置模板不同的功能。

示例如下

TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [], # DIRS:定義了一個(gè)目錄列表,模板引擎按列表順序搜索這些目錄以查找模板源文件。'APP_DIRS': True, # APP_DIRS:告訴模板引擎是否應(yīng)該進(jìn)入每個(gè)已安裝的應(yīng)用中查找模板。通常請將該選項(xiàng)保持為True。# OPTIONS中包含了具體的后端設(shè)置。'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',],},}, ]

BACKEND:要使用的模板后端。 內(nèi)置模板后端有:

'django.template.backends.django.DjangoTemplates' 'django.template.backends.jinja2.Jinja2'

通過將BACKEND設(shè)置為完全限定路徑(即’mypackage.whatever.Backend’),你可以使用第三方提供的模板后端。

OPTIONS中包含了具體的后端設(shè)置。

由于絕大多數(shù)引擎都是從文件加載模板的,所以每種模板引擎都包含兩項(xiàng)通用設(shè)置:

  • DIRS:定義了一個(gè)目錄列表,模板引擎按列表順序搜索這些目錄以查找模板源文件。
  • APP_DIRS:告訴模板引擎是否應(yīng)該進(jìn)入每個(gè)已安裝的應(yīng)用中查找模板。通常請將該選項(xiàng)保持為True。

每種模板引擎后端都定義了一個(gè)慣用的名稱作為應(yīng)用內(nèi)部存放模板的子目錄名稱。(例如Django為它自己的模板引擎指定的是 ‘templates’,為jinja2指定的名字是‘jinja2’)。尤其是,django允許你有多個(gè)模板引擎后端實(shí)例,且每個(gè)實(shí)例有不同的配置選項(xiàng)。 在這種情況下你必須為每個(gè)配置指定一個(gè)唯一的NAME .

DTL引擎的OPTIONS配置項(xiàng)中接受以下參數(shù):

  • ‘a(chǎn)utoescape’:一個(gè)布爾值,用于控制是否啟用HTML自動(dòng)轉(zhuǎn)義功能。默認(rèn)為True。
  • context_processors:上下文處理器,以”.”為分隔符的Python調(diào)用路徑的列表。默認(rèn)是個(gè)空列表。
  • ‘debug’:打開/關(guān)閉模板調(diào)試模式的布爾值。默認(rèn)和setting中的DEBUG有相同的值。
  • ‘loaders’:模板加載器類的虛擬Python路徑列表,每個(gè)模板加載器知道如何從特定的源來導(dǎo)入模板。默認(rèn)值取決于DIRS和APP_DIRS的值。
  • string_if_invalid:非法變量時(shí)輸出的字符串。默認(rèn)為空字符串。
  • file_charset:用于讀取磁盤上的模板文件的字符集編碼。默認(rèn)為FILE_CHARSET的值。
  • ‘libraries’:用于注冊模板引擎。 這可以用于添加新的庫或?yàn)楝F(xiàn)有庫添加備用標(biāo)簽,標(biāo)簽庫可以在{%?load?%}標(biāo)記中傳入相應(yīng)的字典鍵值進(jìn)行載入。
  • ‘builtins’:將模板標(biāo)簽庫加入內(nèi)建庫中,無需調(diào)用{%?load?%}就可使用。 OPTIONS={'builtins': ['myapp.builtins'], }

USE_I18N

默認(rèn)值:True

這是一個(gè)布爾值,指定Django的翻譯系統(tǒng)是否開啟。如果設(shè)置為False,Django會做一些優(yōu)化,不去加載翻譯機(jī)制。

USE_L10N

默認(rèn)值:False

一個(gè)布爾值,用于決定是否開啟數(shù)據(jù)本地化。如果此設(shè)置為True,例如Django將使用當(dāng)前語言環(huán)境的格式顯示數(shù)字和日期。

USE_TZ

默認(rèn)值:False

一個(gè)布爾值,用來指定是否使用指定的時(shí)區(qū)(TIME_ZONE)的時(shí)間。若為True, 則Django會使用內(nèi)建的時(shí)區(qū)的時(shí)間;否則, Django將會使用本地的時(shí)間。

如果我們將TIME_ZONE設(shè)置成了Asia/Shanghai, 那么務(wù)必同時(shí)將USE_TZ改成False!

SESSION_EXPIRE_AT_BROWSER_CLOSE

默認(rèn)值:False

是否在用戶關(guān)閉瀏覽器時(shí)過期會話。

STATIC_ROOT

默認(rèn)值:None

在DEBUG設(shè)置為False時(shí),也就是線上環(huán)境時(shí),Django項(xiàng)目里的靜態(tài)文件(js\css\plugins)會無法使用。這是,需要運(yùn)行python manage.py collectstatic,將靜態(tài)文件統(tǒng)一收集到一個(gè)目錄下。STATIC_ROOT配置的就是該目錄的絕對路徑。

示例:”/var/www/example.com/static/”

這個(gè)目錄,剛開始應(yīng)該是一個(gè)空目錄。

STATIC_URL

默認(rèn)值:None

引用位于STATIC_ROOT中的靜態(tài)文件時(shí)使用的網(wǎng)址。

示例:”/static/”或”http://static.example.com/”

該URL設(shè)置為非空值時(shí),必須以斜杠“/”結(jié)束。

WSGI_APPLICATION

默認(rèn)值:None

Django的內(nèi)置服務(wù)器(例如runserver)將使用的WSGI應(yīng)用程序?qū)ο蟮耐暾鸓ython路徑。

Django使用WSGI協(xié)議與外部進(jìn)行通信。

由django-admin startproject xxx命令創(chuàng)建的Django項(xiàng)目,將自動(dòng)創(chuàng)建一個(gè)簡單的wsgi.py模塊,里面有一個(gè)可調(diào)用的application變量,WSGI_APPLICATION配置項(xiàng)的值就指向這個(gè)application變量。

MIDDLEWARE

要使用的中間件列表。Django-admin命令創(chuàng)建的新項(xiàng)目中,settings.py文件里默認(rèn)會為MIDDLEWARE配置項(xiàng)添加一系列Django內(nèi)置的中間件,我們保持它不變就好了。

注釋掉MIDDLEWARE 中的’django.middleware.csrf.CsrfViewMiddleware’,因?yàn)檫@句話會進(jìn)行校驗(yàn),容易產(chǎn)生403錯(cuò)誤。

MIDDLEWARE = ['django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware',# 'django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware', ]

添加自己的配置項(xiàng)

如果要添加自己的配置項(xiàng),需遵循以下準(zhǔn)則:

配置項(xiàng)名稱必須全為大寫。
不要使用一個(gè)已經(jīng)存在的設(shè)置

?

---------------------

總目錄https://www.cnblogs.com/wlx97e6/p/9143284.html

轉(zhuǎn)載于:https://www.cnblogs.com/wlx97e6/p/9563135.html

總結(jié)

以上是生活随笔為你收集整理的Django学习笔记2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

日韩视频www | 伊人婷婷| 黄色片亚洲 | 久久精品久久久精品美女 | 又黄又爽又无遮挡免费的网站 | 日韩欧美视频免费观看 | 国产精品久久久久久久午夜片 | 欧美成人免费在线 | 午夜久久久影院 | 亚洲成av人影片在线观看 | 国内精品久久久久影院优 | 国产精品资源在线观看 | 日韩电影久久 | 色婷婷 亚洲 | 男女免费视频观看 | 日韩在线免费播放 | 夜夜高潮夜夜爽国产伦精品 | 久久久国产精品成人免费 | 亚洲成人黄色av | 中文字幕av免费 | 在线黄色国产电影 | 亚洲三级影院 | 国产精品视频线看 | 中文字幕一区二区三区乱码在线 | 九九免费在线观看 | 亚洲人成人天堂h久久 | 日韩欧美专区 | 国产成人av免费在线观看 | 日韩成人黄色av | 免费av片在线 | 五月天,com | 日韩久久久久久久久久久久 | 国产综合精品一区二区三区 | 久久免费视频这里只有精品 | 亚洲男女精品 | 精品亚洲午夜久久久久91 | 九九在线高清精品视频 | 亚洲四虎影院 | 国产特级毛片aaaaaaa高清 | 午夜av大片 | 女人18毛片a级毛片一区二区 | 日韩成人免费在线观看 | 日韩三级免费 | 国产女教师精品久久av | 午夜精品久久久久久久久久久久久久 | 免费看的黄色小视频 | 久久精品国产一区二区三区 | 欧美a视频在线观看 | 开心色激情网 | 久久人人爽人人人人片 | 欧美人操人 | 91在线最新 | 亚洲va在线va天堂va偷拍 | 国产精品免费成人 | 国产91成人| 国内精品久久久久影院日本资源 | 亚洲一区动漫 | 久久久久亚洲精品中文字幕 | 成年人在线| 四虎国产精品免费观看视频优播 | 国产精品视频免费观看 | 日韩av影片在线观看 | 免费a v在线 | 三级黄色大片在线观看 | 伊人成人精品 | 天天操天天操天天操天天操天天操 | 亚洲视频 中文字幕 | 国产一级视频在线 | 500部大龄熟乱视频 欧美日本三级 | 欧美精品一区二区在线播放 | 亚洲丁香日韩 | 一级α片免费看 | 91超碰免费在线 | 麻豆极品 | www激情com | 高清免费在线视频 | 99tvdz@gmail.com | 操处女逼 | 天天躁天天躁天天躁婷 | 能在线看的av | 在线播放一区二区三区 | 欧美 日韩 成人 | 四虎最新入口 | 免费看av片网站 | 成人视屏免费看 | 日韩亚洲精品电影 | 黄色亚洲精品 | 视频二区在线 | 欧美久草视频 | 午夜影院一级 | 国产精品毛片久久久久久久久久99999999 | 九九精品久久久 | 国产专区视频在线 | 日韩在线短视频 | 久久免费的精品国产v∧ | 国产精品免费成人 | 久久精品视频一 | 国产中文视频 | 中文字幕在线播放第一页 | 99热这里只有精品久久 | 东方av在线免费观看 | 国产精品久久久久久久毛片 | 国产精品区免费视频 | 精品国产乱码久久久久久1区2匹 | 91在线www| 日本中文在线播放 | 国产午夜不卡 | 国产专区视频在线观看 | 久久这里只有精品视频99 | 毛片在线播放网址 | 成人小视频在线播放 | 狠狠搞,com | 午夜 在线 | 天天色 天天 | 特级aaa毛片 | 干亚洲少妇 | 色在线亚洲 | 久久免费视频播放 | 99热99re6国产在线播放 | 天堂av在线免费观看 | 2019中文最近的2019中文在线 | 波多野结依在线观看 | 伊人婷婷激情 | 中文av日韩 | 在线一区二区三区 | 国内外成人免费在线视频 | 成人四虎| 久久精品免视看 | 国产又黄又硬又爽 | 香蕉视频日本 | 九七在线视频 | 青青河边草免费观看 | 国产手机在线播放 | 国产视频1区2区 | 97超碰精品 | 六月色丁香 | 中文字幕av在线免费 | www.玖玖玖 | 天天干干| 一区二区三区精品久久久 | 美女视频久久黄 | 天天做天天爽 | 91中文在线观看 | 久久看片| 国产第一页在线观看 | 欧美日韩高清在线一区 | 国产我不卡 | 最新动作电影 | 精品美女在线观看 | 久久精品国产精品亚洲 | 国产麻豆视频免费观看 | 香蕉影视| av观看久久久 | 91色九色 | 亚洲精品视频一二三 | 欧美视频网址 | 91理论片午午伦夜理片久久 | 日韩在线观看视频中文字幕 | av片在线观看 | 久草爱 | 国产高清视频在线免费观看 | 免费a级毛片在线看 | 久久精品一区二 | 97久久精品午夜一区二区 | 亚洲精品国产精品99久久 | 久草在线视频新 | 国产中文字幕亚洲 | 中文字幕在线观看一区 | 国内久久精品视频 | 婷婷久月| 国产在线观看高清视频 | 97色婷婷成人综合在线观看 | 99这里精品 | 日本精品一二区 | 日本久久精品视频 | 正在播放一区二区 | 成 人 免费 黄 色 视频 | 国产视频精品网 | 久久久精品成人 | 国色天香永久免费 | 狠狠色噜噜狠狠狠狠2021天天 | www色| 精品欧美乱码久久久久久 | 在线亚洲欧美日韩 | 天天草天天操 | 奇人奇案qvod | 九九热av| 欧美性猛片 | 婷婷在线综合 | 天天干亚洲| 午夜精品一区二区三区在线视频 | 在线观看日韩精品视频 | 国产电影一区二区三区四区 | 99免费在线视频 | 91久久久久久久 | 久久久久久久免费看 | 又黄又爽又刺激的视频 | 狠狠干中文字幕 | 97品白浆高清久久久久久 | 国产一区二区三区午夜 | 五月天狠狠操 | 国产裸体无遮挡 | 九九日九九操 | 亚洲综合在线五月天 | 国产精品久久久久一区二区 | 国产精品毛片久久久久久 | 在线观看91精品国产网站 | 97超碰网 | 久久午夜影院 | 久久99久久99精品中文字幕 | 五月激情六月丁香 | 国产玖玖在线 | 欧美一级日韩三级 | 色天堂在线视频 | 中文字幕一区av | 人九九精品 | 欧洲亚洲精品 | 在线观看深夜福利 | 亚洲区另类春色综合小说 | 国产一区二区三精品久久久无广告 | 丁香伊人网 | 色婷婷久久一区二区 | 中文字幕在线乱 | 亚洲精选在线 | 久黄色| 日产乱码一二三区别在线 | 国产精品免费久久久久 | 久久综合久久综合久久 | 免费黄色一区 | 在线黄色免费 | 国产伦精品一区二区三区… | 日韩a在线 | 久久国产精品一区二区 | 天天爽夜夜爽人人爽曰av | 免费在线观看日韩欧美 | 久久大片网站 | 国产精品久久久久久久久婷婷 | 97激情影院 | 精品久久一区二区三区 | 国产高清免费视频 | 日韩免费在线看 | 天天·日日日干 | 在线精品视频免费观看 | 午夜国产福利在线观看 | 日韩激情一二三区 | 国产一级视频 | 国产精品久久久电影 | 免费看的黄色片 | 中文字幕91| 婷婷激情av| 91视频国产高清 | 欧美黄色特级片 | 亚洲综合欧美日韩狠狠色 | 开心婷婷色 | 中文字幕av在线电影 | 伊人狠狠色丁香婷婷综合 | 国产成人精品不卡 | 国产精品久久婷婷六月丁香 | 久 久久影院 | 亚洲成年人在线播放 | 黄在线免费观看 | zzijzzij日本成熟少妇 | 久久久久久网站 | 91看片在线免费观看 | 97在线成人 | 日韩精品久久久免费观看夜色 | av丝袜制服 | 激情中文字幕 | 91丨九色丨高潮 | 亚洲精品麻豆 | 四虎影视4hu4虎成人 | 黄色成年片 | 一级免费看 | 日日爽夜夜爽 | 不卡的av电影在线观看 | 丁香花在线视频观看免费 | 国产va精品免费观看 | 久久免费精彩视频 | 黄色av电影一级片 | 能在线观看的日韩av | 欧美a级片免费看 | 免费看片在线观看 | 日韩免费三级 | 69国产精品视频 | 日韩精品一区二区在线观看 | 国产精品久久精品 | 国产精品美女久久久网av | 99精品视频在线播放免费 | 亚洲91网站 | 精品一区在线看 | 天天色.com| 国产我不卡 | 18性欧美xxxⅹ性满足 | 免费视频久久 | av一区二区三区在线播放 | 免费男女羞羞的视频网站中文字幕 | 麻豆 free xxxx movies hd | 日韩毛片在线播放 | 国产精品久久久久亚洲影视 | 国产精品久久人 | 日本黄色免费播放 | 亚洲.www| av中文在线影视 | 国产在线精品一区二区不卡了 | 亚洲国产欧美在线人成大黄瓜 | 国产免费高清视频 | 国产中文在线播放 | 在线电影 一区 | 国产亚洲精品美女久久 | 99视频在线观看视频 | 亚洲 欧美 国产 va在线影院 | 91精品久久久久久久99蜜桃 | 精品在线99 | 欧美日在线观看 | 在线免费观看成人 | 九九热只有这里有精品 | 精品免费观看视频 | 区一区二在线 | 国产无限资源在线观看 | 久久精品视频网 | 黄色www免费| 五月综合网站 | 黄网站a| 久久福利在线 | 欧美日韩中文国产 | 欧美怡红院| 91精品国产综合久久福利 | 日韩天天综合 | 日韩一区二区三区在线看 | 久久久综合香蕉尹人综合网 | 国产在线综合视频 | 久青草国产在线 | 超碰在线人人艹 | 国产精品99久久久久久小说 | 久久久久电影网站 | 亚洲经典视频在线观看 | 国产一在线精品一区在线观看 | 米奇影视7777 | 精品国产一区二区三区男人吃奶 | 亚洲国产精品成人女人久久 | 久草网视频在线观看 | 日韩免费av在线 | 国产亚洲精品女人久久久久久 | 超碰精品在线 | 欧美成人h版电影 | 亚洲第一久久久 | 久久人人爽人人爽人人片 | 色婷婷伊人 | 精品国产免费久久 | 黄色毛片观看 | 亚洲一二视频 | av免费试看| 亚洲日韩中文字幕 | 国产99久久99热这里精品5 | 狠狠黄 | 丁香视频五月 | 黄色a在线| 国产日韩欧美视频在线观看 | 精品视频久久久久久 | 国产精品视频你懂的 | 97国产小视频 | 91精品秘密在线观看 | 国产五月婷婷 | 日日躁夜夜躁aaaaxxxx | 69av免费视频| 精品视频免费久久久看 | 久久久久区 | 国产视频在线免费观看 | 亚洲专区欧美 | 综合伊人久久 | 天天干天天搞天天射 | 国产福利在线免费观看 | 日日夜夜草 | 国产小视频福利在线 | 涩涩网站在线 | 国内99视频 | 在线观看成人av | 九九视频一区 | 操天天操| 久久久久久久久久免费视频 | 丁香影院在线 | 欧美综合久久久 | 久久er99热精品一区二区三区 | 色插综合 | 亚洲成人av片在线观看 | 久艹在线播放 | 国产精品1区2区 | 免费中文字幕在线观看 | 国产亚洲精品久久久久久电影 | 精品视频专区 | 久久伊人免费视频 | 久久精品99国产国产精 | 色婷婷综合久久久久中文字幕1 | 成人av一区二区兰花在线播放 | 亚洲蜜桃在线 | 久久99精品国产99久久 | 国产午夜三级一二三区 | 久久久久久久久久久国产精品 | 成人a v视频 | 久久久久久久久久影院 | 99视| 少妇搡bbbb搡bbb搡忠贞 | 在线观看视频福利 | 人人爽久久久噜噜噜电影 | 精品国产乱码久久久久久浪潮 | 成人福利在线 | 国产在线黄 | 久久精品成人欧美大片古装 | 亚洲高清激情 | 亚洲美女视频网 | 精品一区二区三区香蕉蜜桃 | 精品福利网 | 久草视频在 | 亚洲男女精品 | 日韩在线观看 | 久久精品国产精品亚洲 | 狠狠色丁香婷婷综合久小说久 | 日韩av线观看 | 亚洲小视频在线观看 | 国产成人精品一区二区在线观看 | 色资源中文字幕 | 成人av在线网 | 色姑娘综合网 | 国产在线观看高清视频 | 二区三区在线视频 | 国产精品丝袜久久久久久久不卡 | 国产视频欧美视频 | 国产高清精 | 国产精品a级 | 久久综合婷婷综合 | 亚洲精品国久久99热 | 超碰97人人射妻 | 国产偷v国产偷∨精品视频 在线草 | 一区二区不卡在线观看 | 欧洲精品久久久久毛片完整版 | 中文字幕在线视频第一页 | 久草a在线 | 成年人视频在线免费观看 | 日韩三级在线 | 国产精品久久久久永久免费观看 | 婷婷久久综合网 | 亚洲精品美女久久久久 | 亚洲综合色视频 | av电影一区 | 伊人天天狠天天添日日拍 | 日韩av在线一区二区 | 国产精品字幕 | 国产精品视频内 | 首页中文字幕 | 久久免费观看少妇a级毛片 久久久久成人免费 | 国产小视频网站 | 中文字幕一区二区三区四区视频 | 国产片免费在线观看视频 | 久久国产一区二区三区 | 九九九九九九精品任你躁 | 亚洲五月 | 五月天激情视频在线观看 | 色婷婷a | 日韩在线中文字幕视频 | 午夜免费久久看 | 亚洲黄色激情小说 | 麻豆视频在线免费观看 | 中文字幕在线高清 | 成人av在线直播 | 久久久久久久网 | 91精品国产99久久久久久久 | 999视频在线播放 | 成人精品999 | 国产麻豆精品一区 | 精品亚洲男同gayvideo网站 | 天天色棕合合合合合合 | 色婷婷av在线 | 中文字幕国产一区 | 亚洲成年片 | 99中文视频在线 | 国产经典av | 日韩h在线观看 | 久久久久久国产精品亚洲78 | 精品国产一区二区久久 | 成人97视频一区二区 | 岛国av在线不卡 | 亚洲成人影音 | 久操操| 成人黄色电影在线 | 天天干天天拍天天操天天拍 | 91视频a | 黄色大片免费播放 | 亚洲国产中文字幕在线视频综合 | 一区二区不卡高清 | 天天干天天操av | 欧美最猛性xxxxx(亚洲精品) | av三级在线播放 | 国产在线观看高清视频 | 亚洲影院一区 | 国产视频精品久久 | 国产一区二区在线免费观看 | 日韩激情av在线 | 成人av电影在线 | 日本夜夜草视频网站 | 丝袜制服天堂 | 色播五月激情五月 | 亚洲va欧美va国产va黑人 | 在线免费黄色av | 国产伦理久久精品久久久久_ | 午夜免费久久看 | 在线免费看黄色 | 久久激情视频 | 亚洲在线视频免费观看 | 久久99国产精品免费 | 国产91九色蝌蚪 | 69精品久久久 | 最新日韩电影 | 五月亚洲婷婷 | 成人资源在线播放 | 91热精品| 高清视频一区二区三区 | 亚洲欧美乱综合图片区小说区 | 91三级视频| 久久久免费播放 | 午夜黄色影院 | 久久伊人操| 日韩在线观看第一页 | 色综合久久网 | 亚洲三级精品 | 五月天堂网 | 久久久久免费精品视频 | 人人干人人干人人干 | 91精品一区二区三区蜜桃 | 国产手机视频在线观看 | 综合激情伊人 | 视色网站| 久青草视频在线观看 | 高清免费在线视频 | 国产精品精品国产 | 久久精品在线视频 | 成人久久毛片 | 婷婷av资源| 国产精品美 | 久久免费视屏 | 国产91精品看黄网站 | 国产精品二区三区 | 国产精品国产三级国产aⅴ无密码 | 丁香六月综合网 | 久久极品 | 欧美一区二区三区在线视频观看 | 97电院网手机版 | 欧美一级在线看 | 四虎影视成人永久免费观看视频 | 五月婷婷国产 | 国产糖心vlog在线观看 | 免费看三片 | 国产第一页福利影院 | 日本不卡123 | 狠狠干2018 | 精品国产一区二区三区久久久久久 | www国产在线 | 日韩精品一区二区三区高清免费 | 日韩免费电影一区二区 | 国产视频一区在线免费观看 | 国产特级毛片aaaaaaa高清 | 国产精品久久电影网 | 亚洲精品在线免费播放 | 久久热亚洲 | 欧美日韩二三区 | 欧美特一级片 | 97在线免费观看 | 性色av免费观看 | 久草在线电影网 | 91完整版在线观看 | 一级c片| 欧美视频国产视频 | 国产精品乱看 | 国产精品久99 | 欧美国产三区 | 99热99| 久久综合久色欧美综合狠狠 | 亚洲精品啊啊啊 | 免费av高清 | 国产v亚洲v | 色插综合 | 国产精品黄色影片导航在线观看 | 在线导航av | 国产超碰在线观看 | 美女av免费看 | 天天操网址| 国产精品一区二区三区观看 | 久久夜靖品| 欧美精品亚洲精品 | 亚洲精品tv久久久久久久久久 | 久久久国产在线视频 | 日韩v在线91成人自拍 | 欧美极品少妇xxxx | 久久伊人八月婷婷综合激情 | 国色天香永久免费 | 97久久久免费福利网址 | 久久免费视频99 | 成人av在线一区二区 | 99久久夜色精品国产亚洲96 | 日韩av高清 | 三级av在线播放 | 男女精品久久 | 久草在线视频免费资源观看 | 久草视频免费在线观看 | 国产精品对白一区二区三区 | 97干com| 五月天亚洲综合 | 久久伊人免费视频 | 欧美成人精品三级在线观看播放 | 亚洲黄色在线观看 | 国产在线一线 | 久久精品一区二区三区中文字幕 | 97超碰在线久草超碰在线观看 | 精品一二区 | 日日夜夜免费精品 | 久久久久亚洲最大xxxx | 婷婷综合亚洲 | 天天综合网入口 | 超碰免费公开 | 深夜激情影院 | 看av免费| 国产专区精品视频 | 婷婷亚洲五月 | 国产精品24小时在线观看 | 97色噜噜| 成人在线免费观看视视频 | 国产呻吟在线 | 日韩免费播放 | 亚洲视频h | 国产视频二 | 国产区精品在线 | 美女网站视频免费都是黄 | 一本到在线 | 99在线观看免费视频精品观看 | 91网在线观看 | 精品国产91亚洲一区二区三区www | 黄色99视频 | 亚洲成av | 射射色 | 91最新视频在线观看 | 在线av资源 | 亚欧日韩av | 三级视频片 | 精品国产一区二区三区久久 | 伊色综合久久之综合久久 | 日本少妇高清做爰视频 | 99在线热播精品免费99热 | 亚洲国产精品一区二区久久,亚洲午夜 | 久久久精品电影 | 人人爽久久久噜噜噜电影 | 岛国大片免费视频 | 一级特黄av| 亚洲国产精品成人女人久久 | 国产不卡免费视频 | a成人v| 欧美a级在线免费观看 | 久久久久欧美精品 | 久久a国产 | 99这里精品| 色www精品视频在线观看 | 国产香蕉97碰碰碰视频在线观看 | 日韩极品视频在线观看 | 国产成人精品福利 | 9在线观看免费高清完整版在线观看明 | 国产精品毛片一区视频播 | 久久久久伊人 | 超碰在线公开免费 | 成年免费在线视频 | 国产精品免费久久久久影院仙踪林 | 色噜噜在线观看视频 | 国产日韩精品在线观看 | 人人澡人人爱 | 久草视频视频在线播放 | 久草视频中文 | 国产专区欧美专区 | 久久经典国产视频 | 成人动漫一区二区 | 久久私人影院 | 国产免费一区二区三区最新6 | 超级碰99| 天天色成人网 | 久久国产欧美日韩 | 99久久这里只有精品 | 亚洲资源在线观看 | 亚洲欧美日韩国产精品一区午夜 | 九九热在线观看 | 丝袜足交在线 | 日韩二区三区 | 天天色天天操天天爽 | 91在线国产观看 | 天天干com| 91av视频网| 国产高清福利在线 | 亚洲精品久久久久中文字幕二区 | 日本午夜在线观看 | 992tv成人免费看片 | 欧洲激情综合 | 亚洲国产日韩一区 | 久久视频免费看 | 欧美精品中文在线免费观看 | 好看的国产精品视频 | 91桃色免费视频 | 天天草网站 | 五月香视频在线观看 | 最近中文字幕高清字幕在线视频 | 久久 精品一区 | 午夜视频在线观看一区二区三区 | 亚洲第五色综合网 | 欧美日韩免费观看一区二区三区 | 在线精品在线 | 日韩一区精品 | 日本福利视频在线 | av高清一区二区三区 | 国产精品免费看久久久8精臀av | 久久久综合精品 | 久草网站 | 日日干日日色 | 天天干天天操天天入 | 欧美日韩国产亚洲乱码字幕 | 午夜黄色一级片 | 日韩av免费在线看 | 在线免费黄色av | 碰超在线97人人 | 日韩中文字幕在线看 | 亚洲最大免费成人网 | 日韩亚洲在线视频 | 99国产高清 | 麻豆va一区二区三区久久浪 | 天天综合网天天 | 综合网天天 | 三级免费黄色 | 国产一级精品在线观看 | 国产成人久久av977小说 | 欧美影片| 国产精品wwwwww | 欧美日韩在线观看不卡 | 亚洲精品乱码久久久久久 | 中文字幕在线观看av | 91成人小视频 | 国产成人精品午夜在线播放 | 国产 一区二区三区 在线 | 久99热| 亚洲国产成人在线播放 | 992tv在线成人免费观看 | 亚洲精品日韩一区二区电影 | 这里只有精品视频在线 | 久爱综合 | 国产免费久久av | 天天操天天摸天天射 | 久久天天躁夜夜躁狠狠85麻豆 | 91av精品| 丁香六月天 | 欧美与欧洲交xxxx免费观看 | 在线观看视频h | 九九99视频 | 亚洲最新av | 成av人电影 | 91丨九色丨蝌蚪丨老版 | 国产成人精品一区二区三区福利 | 久久国产精品精品国产色婷婷 | 中文字幕视频一区 | 久久久精品免费看 | 免费成人在线网站 | 久久人人爽爽人人爽人人片av | 国产高清久久久久 | www.xxxx变态.com | 久久成人高清视频 | 婷婷丁香花五月天 | 国产精品久久久久久久久费观看 | 在线三级播放 | 国产在线97| 国产不卡在线播放 | 天天操天天干天天综合网 | 毛片网在线播放 | 欧美久久久久 | 精品美女久久久久 | 菠萝菠萝在线精品视频 | 毛片的网址 | 国产九九热 | 亚洲男人天堂a | 中文字幕av最新更新 | 国产成人一区二区三区久久精品 | 天堂av最新网址 | 国产福利91精品张津瑜 | 日韩一区二区免费在线观看 | 国产精品毛片一区视频播 | 亚洲欧美日韩国产精品一区午夜 | 精品一区电影 | 最近中文字幕 | 五月天综合在线 | 91在线看黄| 日韩av一区二区三区四区 | 一区中文字幕电影 | 国产免费不卡av | 亚洲va综合va国产va中文 | 亚洲精色 | 天堂在线一区二区三区 | 日本在线观看一区二区三区 | 欧美精品一区二区免费 | 色 免费观看 | av成人在线网站 | 国产美女视频免费观看的网站 | 国产成人精品999 | 99热高清 | 天天色天天干天天色 | 激情大尺度视频 | 国内视频| 婷婷丁香激情综合 | 在线97 | 国产精品第一页在线观看 | 精品女同一区二区三区在线观看 | 欧美成人tv | 97色涩| 中文网丁香综合网 | 成人精品电影 | 91最新中文字幕 | 激情五月五月婷婷 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 免费观看成年人视频 | 亚洲视频综合在线 | 久久久久久草 | 久久免费成人网 | 在线免费观看视频一区二区三区 | 6080yy午夜一二三区久久 | 在线中文视频 | 日本字幕网 | 国产午夜三级一区二区三桃花影视 | 91成人网在线播放 | 伊人超碰在线 | 国产视频一区在线播放 | 五月激情婷婷丁香 | 亚洲春色综合另类校园电影 | 在线观看视频亚洲 | 国产在线免费观看 | 国内精品在线一区 | 午夜精品久久久 | 男女视频91| 91插插视频 | 91黄色免费网站 | 午夜久久成人 | 国产亚洲精品女人久久久久久 | 一区二区视频在线看 | 香蕉视频日本 | 亚洲精品自在在线观看 | 亚洲黄色高清 | 久草av在线播放 | 99国产成+人+综合+亚洲 欧美 | 色国产在线 | 91mv.cool在线观看 | 99精品99 | 国产一级一级国产 | 日韩视频精品在线 | 特黄色大片 | 中国一 片免费观看 | 免费的黄色的网站 | 在线观看蜜桃视频 | 在线观看国产一区 | 国产一级做a爱片久久毛片a | 久久精品中文字幕 | 园产精品久久久久久久7电影 | 中文字幕 国产 一区 | 99国产精品一区 | 日本中文字幕在线播放 | 国产又粗又猛又色又黄网站 | 久久99视频免费观看 | 欧美91精品久久久久国产性生爱 | 久久激情综合网 | 在线播放亚洲激情 | 久久人人爽人人爽人人片av软件 | 国产成人精品一区二区三区免费 | 久久免费精品一区二区三区 | 欧洲视频一区 | 在线亚洲精品 | 免费观看性生活大片3 | 国产正在播放 | 最近高清中文在线字幕在线观看 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 中文字幕在线观看亚洲 | 看污网站| 国产短视频在线播放 | 九九精品视频在线看 | 蜜桃传媒一区二区 | 国产国产人免费人成免费视频 | 色在线最新 | 久久久久国产a免费观看rela | 69久久夜色精品国产69 | 欧美三级在线播放 | 国内精品久久天天躁人人爽 | 最新国产精品亚洲 | 日韩高清网站 | 91传媒在线播放 | 在线精品观看 | 808电影免费观看三年 | 午夜黄色一级片 | 国产精品女主播一区二区三区 | 激情在线网址 | 精品亚洲国产视频 | 亚洲精品美女久久17c | 香蕉视频在线免费 | 88av网站 | 婷婷丁香激情五月 | 色综合天| 草久久久久 | 亚洲狠狠 | 99视频偷窥在线精品国自产拍 | 成人片在线播放 | 国产小视频福利在线 | 97超碰人人澡 | 欧美成人播放 | 久久久久久久久毛片精品 | 国产精品午夜免费福利视频 | 999久久国产精品免费观看网站 | 国产专区免费 | 最新国产精品久久精品 | 欧美精品三级在线观看 | 蜜臀91丨九色丨蝌蚪老版 | 91亚洲精品久久久蜜桃 | 97超碰在线久草超碰在线观看 | 欧洲亚洲国产视频 | 五月天亚洲综合小说网 | 午夜精品电影 | 亚州精品在线视频 | 国产区网址| 午夜国产一区二区三区四区 | 玖玖国产精品视频 | 日韩中文字幕视频在线观看 | 五月天久久婷 | 日韩二区三区在线 | 国产精品自产拍在线观看网站 | 欧美一区免费在线观看 | 欧美极度另类 | 香蕉91视频 | 美国av大片 | 九九九九九九精品任你躁 | 亚洲国产大片 | 九九免费观看视频 | 久久视频在线观看 | 久久男人免费视频 | 韩国av不卡 | 狠狠躁夜夜av | 亚洲 中文 在线 精品 | 蜜臀av在线一区二区三区 | 午夜精品av| 婷婷婷国产在线视频 | 中文在线www| 午夜精品电影 | www视频在线免费观看 | 国产精品一区二区三区在线看 | 91天堂素人约啪 | 狠狠色狠狠综合久久 | 丁香色综合 | 婷婷激情5月天 | 91九色综合| 国产成人精品av在线 | 国产视频69| 中文字幕精品一区二区精品 | 色综合欧洲 | 亚洲精品xxxx | 久久97精品| 中文字幕高清在线 | 91亚瑟视频| 日本性生活免费看 | 日本99热 | 国产中文字幕91 | 国产精品3区 | 亚洲乱亚洲乱亚洲 | 色综合久| 国产中文字幕视频在线观看 | 九色porny真实丨国产18 | 成人一区二区三区在线 | 国产婷婷色 | 少妇精品久久久一区二区免费 | 久久精品女人毛片国产 | 久久狠狠婷婷 | 日韩一区二区免费播放 | 超碰免费在线公开 | 国产欧美精品在线观看 | 欧美精品亚洲二区 | 国产一级淫片免费看 | 久久成人麻豆午夜电影 | 久久久久久久久久久国产精品 | ,午夜性刺激免费看视频 | 视频高清 | 操老逼免费视频 | 97超级碰碰碰碰久久久久 | 欧美日韩xxx | 亚洲精品国产精品久久99 | 欧美韩国日本在线 | 免费看黄网站在线 | 天堂网一区二区三区 | 激情欧美日韩一区二区 | 91免费版成人 | 五月天色丁香 | 欧美ⅹxxxxxx | 91av国产视频| 亚洲欧美成人网 | 日韩小视频 | a级国产乱理论片在线观看 特级毛片在线观看 | 午夜视频免费在线观看 |