web前端學習筆記(二)---Django

【前言】前面(一)學習了web的基礎知識,介紹到了MVC,項目使用一個Django框架。html

  Django book:https://code.ziqiangxuetang.com/django/django-tutorial.html前端

1. web框架介紹

  具體介紹Django以前,必須先介紹WEB框架等概念。web框架: 別人已經設定好的一個web網站模板,你學習它的規則,而後「填空」或「修改」成你本身須要的樣子。python

  通常web框架的架構是這樣的:mysql

 

  其它基於python的web框架,如tornado、flask、webpy都是在這個範圍內進行增刪裁剪的。例如tornado用的是本身的異步非阻塞「wsgi」,flask則只提供了最精簡和基本的框架。Django則是直接使用了WSGI,並實現了大部分功能。web

2、MVC概念到MTV的變化sql

  仔細看,有助於理解django的項目框架:https://www.cnblogs.com/YeChing/p/6339969.html數據庫

[root@localhost helloworld]# tree . ├── db.sqlite3 #django自帶的數據庫,python也自帶操做函數 ├── helloworld │   ├── __init__.py #包 │   ├── __init__.pyc │   ├── search2.py │   ├── search2.pyc │   ├── search.py   #http通訊的表單提交。get post │   ├── search.pyc │   ├── settings.py #此Diango項目的設置/配置文件,包括模板路徑,數據庫鏈接 │   ├── settings.pyc │   ├── testdb.py  #建立的數據庫對象,增刪改查 │   ├── testdb.pyc │   ├── urls.py    #項目的URL聲明,由此django驅動的網站的目錄 │   ├── urls.pyc │   ├── view.py   #在此的view向templates提交數據 │   ├── view.pyc │   ├── wsgi.py      # WSGI 兼容的 Web 服務器的入口,以便運行你的項目。 │   └── wsgi.pyc ├── manage.py      #命令行工具,可以讓咱們以各類方式與該 Django 項目進行交互 ├── templates        #視圖文件創建在這裏,接收數據來視圖輸出。須要在settings.py中修改 │   ├── base.html     #TEMPLATES 中的 DIRS 爲 [BASE_DIR+"/templates",] │   ├── hello.html │   ├── post.html     #這些模板可經過{% extends "base.html" %}繼承base.html │   └── search_form.html └── TestModel       #使用模型,須要建立app ├── admin.py ├── admin.pyc ├── apps.py ├── __init__.py ├── __init__.pyc ├── migrations │   ├── 0001_initial.py │   ├── 0001_initial.pyc │   ├── __init__.py │   └── __init__.pyc ├── models.py #類名至關於數據庫表名 ├── models.pyc ├── tests.py └── views.py

3、django的特色django

  一、開啓服務器以後,修改代碼後只要保存,刷新一下前端就能馬上生效,無需從新啓動。因此,對於我不擅長的html語言,能夠頻繁修改看現象。flask

  二、表名組成結構爲:應用名_類名(如:TestModel_test)。瀏覽器

#一、
django-admin startapp TestModel # 二、models.py。類名就是表名,類裏面的字段表明數據表中的字段(name),數據類型則由CharField(至關於varchar)、DateField(至關於datetime), max_length 參數限定長度。
from django.db import models class Test(models.Model): name = models.CharField(max_length=20) #三、
INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'TestModel',               # 添加此項
) #四、在數據庫中建立表
$ python manage.py migrate   # 建立表結構
$ python manage.py makemigrations TestModel  # 讓 Django 知道咱們在咱們的模型有一些變動
$ python manage.py migrate TestModel   # 建立表結構

#五、建立的表名:應用名_表名
Creating tables ... …… Creating table TestModel_test #咱們自定義的表
……

  三、ORM操做

  Django的orm操做本質上會根據對接的數據庫引擎,翻譯成對應的sql語句;全部使用Django開發的項目無需關心程序底層使用的是MySQL、Oracle、sqlite....,若是數據庫遷移,只須要更換Django的數據庫引擎便可;

  Djan提供了不少字段類型,好比URL/Email/IP/ 可是mysql數據沒有這些類型,這類型存儲到數據庫上本質是字符串數據類型,其主要目的是爲了封裝底層SQL語句;

  例如:字符串類(如下都是在數據庫中本質都是字符串數據類型,此類字段只是在Django自帶的admin中生效)

  name=models.CharField(max_length=32)   #models.CharField  對應的是MySQL的varchar數據類型
EmailField(CharField):
IPAddressField(Field)
URLField(CharField)
SlugField(CharField)

  更詳細參考:https://www.cnblogs.com/sss4/p/7070942.html

4、實現瀏覽器--Django--MySQL的信息實戰

  https://www.cnblogs.com/feixuelove1009/p/5823135.html

 

5、各類操做

  一、Django中models對數據庫的操做。models的各類操做:https://www.cnblogs.com/yangmv/p/5327477.html

  二、經過前端「按鈕」,對數據庫進行增刪改查:https://blog.csdn.net/Panda_Murong/article/details/78894388

  三、ORM獲取數據的三種方式:https://www.cnblogs.com/littlesky1124/p/9157464.html

相關文章
相關標籤/搜索