Django中sql與DB的互動 非ORM

2022-08-10 19:30:14 字數 1223 閱讀 2691

1-在mysql中建立的資料庫,命名為:pythonweb

2-in your settings.py,set your database

1 databases =

10 }

3-安裝mysql引擎 

由於python預設並不自帶mysql引擎,windows需要安裝mysqlclient(mac可直接 pip install mysqlclient ),否則報錯mysqldb不存在

安裝時注意與python的版本號,位數(32、64)一致

mysqlclient:

4-in your views.py,you can code like this :

1

import

mysqldb

2def

index(request):

3 conn=mysqldb.connect(

4 host='

127.0.0.1',

5 port=3306,

6 user='

root',

7 passwd='

root',

8 db='

pythonweb',

9 charset='

utf8

', #

須與建立資料庫時編碼一致

1011

)12 cursor=conn.cursor() #

定義游標

13 cursor.execute("")

14 results=cursor.fetchmany()

1516 articles=

17for result in

results:

1819

3132

)33 context={}

34 context['

articles

']=articles

35return render(request,'

index.html

',context)

5-in your templates,

1 

2<--#注意上面articel後面沒有.all-->

3 }4

Django中的sql注入

django中防止sql注入的方法 總是使用django自帶的資料庫api。它會根據你所使用的資料庫伺服器 例如postsql或者mysql 的轉換規則,自動轉義特殊的sql引數。這被運用到了整個django的資料庫api中,只有一些例外 傳給 extra 方法的 where 引數。這個引數故意設計...

django中sql語句的查詢

執行原始sql查詢 當 模型查詢api 不要走得足夠遠,你 可以回到寫原始sql。django提供了兩種方式執行原始 sql查詢 您可以使用 manager.raw 來 執行原始查詢和 回歸模型例項 或者你可以完全避免模型層 執行自定義sql直接 執行原始查詢 的 生 經理的方法可以用來執行原始的s...

在Django中寫原生的sql語句

用django裡面的connection.py檔案 from django.db import connection def test request cur connection.cursor count cur.execute select from bookinfo where id s 3,...