日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python框架django基礎指南

系統 1687 0

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 django
django.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 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

          


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 五指山市| 芦山县| 保亭| 田东县| 西丰县| 浑源县| 民县| 沅陵县| 碌曲县| 无棣县| 府谷县| 霍邱县| 综艺| 定襄县| 个旧市| 曲阜市| 潜山县| 宁都县| 泗洪县| 温宿县| 迭部县| 徐汇区| 喀喇| 凯里市| 江源县| 牙克石市| 海兴县| 彭山县| 潜江市| 平原县| 天全县| 犍为县| 云阳县| 滦南县| 观塘区| 武冈市| 东辽县| 阳高县| 修武县| 英吉沙县| 眉山市|