1. 程式人生 > >day 68 django 之api操作

day 68 django 之api操作

屬性 true .get version 路由配置 exist update response 使用

前情回顧一下,:

django項目

安裝:

創建項目

配置(setting,static,csrf)

創建app,python manage.py startapp app1

三部分

urls.py路由配置

1,普通正則

2分組正則

傳位置參數:url(r‘^blog/(\d+)/‘,views.blog)

3分組命名(得到的是關鍵字參數)

url(r‘^blog/(?P<year>(\d+)/‘,views.blog‘)) 視圖函數要傳參blog(request,year)

4用name指定別名

url(r‘^blog/$‘, views.blog, name=‘blog‘) 這裏我們使用別名來進行反向解析,為了得到動態的HTML頁面跳轉效果

html裏面:{%url ‘blog‘%}

views函數裏面from django.urls import reverse

函數返回值裏面return reverse("blog")

5使用命名空間

url(r‘^blog/‘, include(app1.urls,namespace=‘num1‘ 2017 12)) 這裏也牽涉到反向解析

HTML裏面{% url ‘num1:blog‘%} url後面空一格寫單引號,引號裏面寫namespace然後冒號name

views裏面:from django.urls import reverse 返回值return redirect(reverse("num1:blog",arg=(2017,12)))

views.py

request對象

response對象

FBV和CBV

模板語言

{{變量}}

{{變量.}}如果變量是一個字典,我們直接使用這樣的方法去取值

{%for%}循環

{%endfor%}結束循環

{%if%}判斷

{%endif%}結束判斷

過濾器(filter) {{變量名|filter_name:參數}}

{{時間對象|date:‘Y-m-d‘}}

{%url%}

{%load static%}

{%static ‘img/1.png‘%}

母板,繼承,塊,組件

連接數據庫(orm)

五步四部分

1創建數據庫

2在app下的models.py裏面創建model類,繼承models.Model

3.在setting.py裏面配置數據庫連接信息

4在項目project的init裏面寫上import pymysql, pymysql.install_as_mysqldb() # 這一句使用我們的pycharm會自動補全,有提示信息

5,發命令

python manage.py makemigrations # 收集變更

python manage.py migrate # 翻譯成sql語句執行

四部分

models.py

django

pymysql

mysql

orm:類 數據表

類的屬性

數據列 (表裏面的字段)

對象 數據行

對表格進行增刪改查:

查:

models.類名,objects.all() 取到所有的數據是一個列表 [取不到值是不會報錯的,就顯示為空]

models.類名,objects.get() 取到一個對象[特點是取不到值就會報錯]

models.類名.objects.exclude(條件) 得到除了這個條件的其他的結果

models.類名.objects.first()

models.類名.objects.last()

增加:

一種方式:

models.類名.objects.create(name=‘peter‘)

一種方式:

obj = models.類名(name=‘peter‘)

obj.save()

刪除:

models.類名,objects.filter(age=19).delete()

修改:

models.類名.objects.filter(age=90).update(name=‘greate‘)

單個對象是不能夠調用update的

obj=models.類名.objects.get(id=1)

obj.name=‘green‘

obj.save()

今日內容:

單標的增刪改查

單表查詢的api介紹:

13條常用數據:

返回的是queryset對象

1.all()

2.filter()

3.exclude()

4.values()

5.values_list()

6.order_by()

7.reverse()

8.distinct()

返回數字的:

count()

返回bool值的:

exists()

返回具體的數據對象的:

get()

first()

last()

logging配置參數:

logging={

‘version‘:1, # 目前為止只有這一個值,當前使用版本

‘disable_existing_loggers‘:false, # 不禁用已經存在的logger實例

# 定義一些日誌的處理方式

‘handlers‘:{

‘console‘:{

‘level‘:‘‘DEBUG‘‘,

‘class‘:‘logging.streamhandler‘,

},

},

‘loggers‘:{

‘django.db.backends‘:{

‘handlers‘:[‘console‘],

‘propagate‘:True, # 向上傳導

‘level‘:‘‘DEBUG‘‘,

},

}

}

day 68 django 之api操作