python django基礎(一)

来源:http://www.cnblogs.com/crazymanpj/archive/2016/09/08/5851639.html
-Advertisement-
Play Games

Django簡介:Django是一個開放源代碼的Web應用框架,由Python寫成。採用了MVC的框架模式,即模型M,視圖V和控制器C。不過在Django實際使用中,Django更關註的是模型(Model)、模板(Template)和視圖(Views),稱為 MTV模式。Django的主要目的是簡便 ...


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

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 上篇我們介紹了Free類型可以作為一種嵌入式編程語言DSL在函數式編程中對某種特定功能需求進行描述。一個完整的應用可能會涉及多樣的關聯功能,但如果我們為每個應用都設計一套DSL的話,那麼在我們的函數式編程中將會不斷重覆的功能相似的DSL。我們應該秉承函數式編程的核心思想:函數組合(compositi ...
  • Verilog HDL的語言的運算符的範圍很廣,按照其功能大概可以分為以下幾類: (1)算術運算符 +,-,*,/,% !~ * / % + - << >> < <= > >= == !== ! & ^ ^~ | && || ?: 最高優先順序別 ↓ ↓ ↓ ↓ 最低優先順序別 (2)賦值運算符 =,< ...
  • php添加數據到xml文件中 導讀:php添加數據到xml文件中 xml文件:stu.xml: 複製代碼代碼如下: <?xml version="1.0" encoding="utf-8" ?><AllData><xueshengmen><xuesheng> <name>張三</name> <yuw ...
  • 此bug項目中使用elasticSearch中出現的,原因是,nio事件選擇器,在特性內核下以及jdk6版本中,出現不hold線程,死迴圈獲取事件的bug,導致cup使用率過高; 此bug在官網已被修複:http://bugs.java.com/bugdatabase/view_bug.do?bug ...
  • 一、H5分類 網頁開發,移動開發,移動混合開發, 二、所用知識點: APICloud:APICloud是為了開發APP的,所以如果用H5開發的移動端,需要發送簡訊,獲取照相機等就要用APICloud的了。 aui框架:aui框架就是專門開發移動端的框架。 三、怎樣用H5開發移動端? 我建議如果用H5 ...
  • .NET Getting Started with ASP.NET Core and VS Code Coding Standard Best Practices In C# Wire – Writing one of the fastest .NET serializers Other How D... ...
  • Windows下Nginx配置SSL實現Https訪問(包含證書生成) 首先要說明為什麼要實現https? HTTP全名超文本傳輸協議,客戶端據此獲取伺服器上的超文本內容。超文本內容則以HTML為主,客戶端拿到HTML內容後可根據規範進行解析呈現。因此,HTTP主要負責的是“內容的請求和獲取”。問題 ...
  • 待會蘋果要開發佈會 我寫完這篇文章就準備去看發佈會了,因為我買了好幾包瓜子和啤酒。由於蘋果的保密做的越來越差勁,該曝光的信息差不多全部曝光了,我們這種熬夜看發佈會的只不過是讓這些信息更加真實,或者說是一種習慣了吧,因為每次蘋果和錘子的發佈會都必不可少的守著電腦看。 你要問我最期待什麼新產品?可能是新 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...