初識Django

Python下有許多款不同的 Web 框架,Django是重量級選手中最有代表性的一位,許多成功的網站和APP都基於Django。Django採用了MVT的框架模式,即模型M,視圖V和模版T。它最初是被開發來用於管理一些以新聞內容為主的網站的,即是CMS(內容管理系統)軟體。

Django的MTV模式

Model(模型):負責業務對象與資料庫的對象(ORM)

Template(模版):負責如何把頁面展示給用戶

View(視圖):負責業務邏輯,並在適當的時候調用Model和Template

此外,Django還有一個urls分發器,它的作用是將一個個URL的頁面請求分發給不同的view處理,view再調用相應的Model和Template。

1、安裝django

pip3 install django

2、創建django工程

# 創建Django工程

django-admin startproject  工程名

# 運行Django功能

python manage.py runserver 127.0.0.1:8001

#創建app

python manage.py startapp app名

3、配置模板路徑

project.settings裏(用pycharm創建默認就是templates) 

TEMPLATES = [

{

BACKEND: django.template.backends.django.DjangoTemplates,

DIRS: [os.path.join(BASE_DIR, templates)],

APP_DIRS: True,

OPTIONS: {

context_processors: [

django.template.context_processors.debug,

django.template.context_processors.request,

django.contrib.auth.context_processors.auth,

django.contrib.messages.context_processors.messages,

],

},

},

]

4、靜態目錄的配置

project.settings裏

STATIC_URL = /static/

STATICFILES_DIRS = (

os.path.join(BASE_DIR,"static"),

)

5、註冊app       

INSTALLED_APPS = [

django.contrib.admin,

django.contrib.auth,

django.contrib.contenttypes,

django.contrib.sessions,

django.contrib.messages,

django.contrib.staticfiles,

app01,

]

6、創建資料庫 

資料庫的創建:

project.app.models裏

from django.db import models

# app01_userinfo

class UserInfo(models.Model):

# id列,自增,主鍵

# 用戶名列,字元串類型,指定長度

username = models.CharField(max_length=32)

password = models.CharField(max_length=64)

7、執行命令

python manage.py makemigrations

python manage.py migrate

8、運行應用

進入項目所在目錄

python manage.py runserver 8000

Django使用資料庫

Django接默使用SQLite3,打開setting.py可以看到資料庫部分的配置如下:

DATABASES = {
default: {
ENGINE: django.db.backends.sqlite3,
NAME: os.path.join(BASE_DIR, db.sqlite3),
}
}

Django使用MySQL資料庫

1、修改為pymysql,在project同名文件夾下的__init__文件中添加如下代碼即可:

import pymysql

pymysql.install_as_MySQLdb()

2、django連接MySQL需要pymysql模塊:

pip install pymysql

3 更改項目setting.py中對資料庫的配置為:

DATABASES = {
default: {
ENGINE: django.db.backends.mysql,
NAME: test,
USER: username,
PASSWORD: passwd,
HOST: localhost,
PORT: 3306
}
}

4 最後通過python manage.py migrate命令,Django會在資料庫中自動創建相應的表。

推薦閱讀:

相關文章