python django基礎(一)

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

 

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

 

 django安裝web

pip install Django

 驗證django的安裝sql

import django django.get_version()

 建立一個django工程數據庫

django-admin.py startproject mysite

 

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


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

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

經常使用的同步或建立數據庫表:app

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 models class 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.time
file.path
相關文章
相關標籤/搜索