国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python框架django基礎指南

2019-11-25 16:35:06
字體:
來源:轉載
供稿:網友

Django簡介:

Django是一個開放源代碼的Web應用框架,由Python寫成。采用了MVC的框架模式,即模型M,視圖V和控制器C。不過在Django實際使用中,Django更關注的是模型(Model)、模板(Template)和視圖(Views),稱為 MTV模式。Django的主要目的是簡便、快速的開發數據庫驅動的網站,它強調代碼復用,多個組件可以很方便的以“插件”形式服務于整個框架,Django有許多功能強大的第三方插件。

django是對象關系映射的 (ORM,object-relational mapping):以Python類形式定義你的數據模型,ORM將模型與關系數據庫連接起來,你可以通過簡單的API操作數據庫,同時你也可以在Django中使用原始的SQL語句。Django可以運行在Apache上,也可以運行在支持WSGI,FastCGI的服務器上。支持多種數據庫,已經支持Postgresql,MySql, Sqlite3,Oracle。

django安裝

pip install Django

驗證django的安裝

import djangodjango.get_version()

創建一個django工程

django-admin.py startproject mysite

此時會自動生成一些目錄和文件,最外層的manage.py,像是一個運行的入口,通過命令行的調用可以完成一些常用的功能,比如:

運行django的自帶的web服務器:

python manage.py runserver http://127.0.0.1:8080

常用的同步或創建數據庫表:

python manage.py syncdb

創建django project里面的子項目

python manage.py startapp polls

創建超級管理員:

python manage.py createsuperuser

還有setttings.py文件,是django的配置文件。

urls.py文件,是django用于匹配url的文件,哪個網址執行哪些后臺代碼(view)是在這里定義的。

Django MTV模式之----modle模型

Django采用了orm模式(對象關系映射),django的模型根據數據庫表的內容定義了一個python類,這個類里面的成員和每一個數據庫表里的字段一一對應;

類里面的成員類型也和數據庫表里的字段類型也是對應的,名字其實也可以起的一樣,看起來比較直觀。這樣每個類實例就代表了數據庫里面的一條數據。

模型例子(在models.py里定義):

from django.db import modelsclass Poll(models.Model):  question = models.CharField(max_length=200)  pub_date = models.DateTimeField('date published')class Choice(models.Model):  poll = models.ForeignKey(Poll)d  choice_text = models.CharField(max_length=200)  votes = models.IntegerField(default=0)

django設置數據庫:

settings.py文件里面的database可以定義你要使用的數據庫類型,比如:

定義數據庫為sqlite

'ENGINE': 'django.db.backends.sqlite3'

定義數據庫為mysql

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

執行django-admin.py startproject mysite, 然后再python manage.py runserver http://127.0.0.1:8080就算搭建了最簡單的一個django web服務器,可通過 http://127.0.0.1:8080訪問測試。另外在install_apps里面激活應用,執行pyhton manage.py syncdb,此時會根據定義的模型創建相應的數據庫。

數據庫操作例子:(假設File為定義的模型類)

獲取所有數據:

all_filelist = File.objects.all()

獲取所有數據并按某個字段排序:

all_filelist = File.objects.all().order_by('-id')

執行sql語句:

cursor = connection。cursor()cursor.extcute("select * from info_path")chaannels = cursor.fetchall()

過濾數據:

list=File.objects.all().filter(xxx=xxx)

根據主鍵查詢

list=File.objects.all().get(id=1)

時間過濾:

results = File.objects.all().filter(time__range=(dayfrom, dayto))

創建新數據:

file = File(time=time,path=path,result=result)file.save()

獲取數據:

file.timefile.path

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 无为县| 光山县| 灵寿县| 平邑县| 海原县| 罗山县| 东山县| 长寿区| 普宁市| 察雅县| 丹凤县| 青铜峡市| 北票市| 天门市| 定远县| 海安县| 宁远县| 疏勒县| 洛隆县| 贵南县| 白城市| 松溪县| 平凉市| 离岛区| 西峡县| 鄢陵县| 郯城县| 出国| 清水河县| 临洮县| 天镇县| 西乡县| 宁化县| 诏安县| 九台市| 楚雄市| 东阳市| 洪江市| 兴安盟| 台前县| 平江县|