項目環境搭建
1.基本認知
Web應用框架(Web application framework)是一種開發框架,用來支持動態網站,網絡應用程序及網絡服務的開發。—— Django 框架: WSGI:Web Server Gateway Interface。服務器網關接口 web框架構成: url路由 請求對象 響應對象 模板引擎 數據庫模型對象 django 全能型web框架 web.py flask.py tornado 異步加載 Twistedpython
Django
是用Python
開發的一個免費開源
的Web框架,能夠用於快速搭建高性能,優雅的網站!mysql
http服務器:用來接受用戶請求,並將請求轉發給web應用框架進行處理。linux
Web應用框架處理完之後再發送給http服務器,http服務器再返回給用戶。程序員
web應用框架的設計模式: MTV 和 MVCweb
django設計模式是
:MTVsql
M:models 模型:負責業務數據對象與數據庫對象
• T: templates 模板:負責如何把數據展現給用戶
• V:views 視圖:負責業務邏輯
• M:models 模型:負責業務數據對象與數據庫對象
• V:views 視圖 負責與用戶交互的頁面
• C:controller 控制器 接受用戶的輸入調用模型與視圖(相似咱們的views)
解耦(將一個複雜的流程分工爲多個簡單的流程。) 耦合是一個寬泛的概念。兩個程序模塊有關聯就叫作耦合。數據庫
""" 模塊只對外暴露最小限度的接口,造成最低的依賴關係。 只要對外接口不變,模塊內部的修改,就不得影響其餘模塊; 刪除一個模塊,應當隻影響有依賴關係的其餘模塊,而不該該影響其餘無關部分; 軟件工程有一條鐵律 「高內聚、低耦合」 就是這個道理: 必要的耦合不能否認,沒有耦合程序就作不成事; 可是沒必要要的緊耦合,就會讓程序「牽一髮而動全身」, 最終讓程序員的編寫和維護都無從下手。 """django
2.工具準備
linux (ubuntu) python3↑ pycharm mysql 5.7↑flask
python3:virtualenv,django,pymysql/mysqlclientubuntu
經常使用命令
查看當前虛擬環境: workon
退出虛擬環境: deactivate
查看進程: ps -aux|grep python
建立虛擬環境(退出以前環境): mkvirtualenv -p /usr/bin/python3 env_name # 其實就是複製一份環境
進入虛擬環境: workon envname
刪除虛擬環境: rmvirtualenv envname
安裝django : pip install django[==2.1.0 指定版本]
查看安裝的django版本: python -m django --version
在虛擬環境中安裝pymysql: pip install pymysql -i https://pypi.doubanio.com/simple
查看django的命令介紹: django-admin
建立項目: django-admin startproject project_name
運行服務: python manage.py runserver [ 0.0.0.0:8000 ]
建立APP: python manage.py startapp app_name
查看管理器的命令: python manage.py
pycharm中建立:
1. Tools:Run manage.py Task
2. startapp app_name
127.0.0.1 表明本地迴環地址(固定ip) # 能夠用 ifconfig命令查看
0.0.0.0 表明任何主機均可以訪問
0:8000 0.0.0.0:8000的簡寫; 8000爲端口號
端口總共:65536(即2**16) 0-65535
其中1—1024端口有特殊做用;
該命令顯示當前設置文件和Django默認設置之間的差別。
python manage.py diffsettings
環境搭建
1.建立虛擬環境
(py3env) pyvip@Vip:~$ workon
envpy2
py3env
pydjtest
(py3env) pyvip@Vip:~$ mkvirtualenv -p /usr/bin/python3 dj2env
(dj2env) pyvip@Vip:~$ pip install django==2.1.10 -i https://pypi.doubanio.com/simple
2.新建項目
# 新建一個文件夾用於存放項目,並進入該文件夾
~$ mkdir projects
~/projects$ django-admin startproject hello_django1
3.Django目錄及文件說明
~/projects$ tree
├── hello_django
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
manage.py django中的一個命令行工具,管理django項目
__init__.py 空文件,告訴python這個目錄是python包
setting.py 配置文件,包含數據庫信息,調試標誌,靜態文件等。
urls.py Django項目的URL聲明, 就像你網站的「目錄」
wsgi.py 做爲你的項目的運行在 WSGI 兼容的Web服務器上的入口 後期部署到服務器時使用
4.Pycharm搭建環境及代碼同步
4.1新建項目
4.2設置代碼同步
Tools ==> Deployment ==> Configuration
Tools ==> Deployment ==> Options
同步遠程主機的項目文件到本地
4.3配置django
添加 Django 服務
Fix會跳轉到以下設置, 其實就是Settings ==> Language ==> Django
5.運行服務器
由於咱們用的是linux上面的環境,因此爲了讓咱們在windows的瀏覽器上能訪問到咱們的服務器,那麼須要修改setting.py的文件,將裏面的ALLOWED_HOSTS = []
改爲ALLOWED_HOSTS = ['*']
,這樣才能使咱們在本地能訪問到咱們linux上面的服務器。
linux虛擬機網絡鏈接方式是nat端口轉發時,須要設置http服務8000端口的轉發:
將配置文件和端口都設置好後就能夠去運行咱們的服務,開服務開啓.
開啓服務的命令: python manage.py runserver 0.0.0.0:8000
pycharm中有兩種方式能夠開啓服務.
1.在pycharm中的配置,在運行服務器配置的頁面改爲0.0.0.0的host ,而後保存運行.
2.在Tool工具,點擊Run manage.py Task... ,這樣就能打開項目的manage管理器,而後在下面輸入運行服務器的命令runserver 0.0.0.0:8000
當服務啓動後,咱們打開瀏覽器輸入ip:端口回車就能看到It workd!
的頁面,這就說明咱們已經訪問到了咱們linux上面的django開發服務器了。
注意: 從這些開啓的方式中選擇一種方便的去開啓服務就能夠了,不要重複操做, 重複操做端口就會被佔用.
6.建立視圖函數
在項目目錄下建立views.py視圖函數
# hello_django/views.py
from django.http import HttpResponse
def index(request):
return HttpResponse('hello django!')
定義試圖函數相關的URL(hello_django/urls.py)
# hello_django/urls.py
from django.conf.urls import url
from django.contrib import admin
from . import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^hello/', views.index),
]
7.新建應用(app)
一個項目能夠包含多個應用,下面是建立應用的命令:
# 在項目根目錄下運行命令
~/netshop$ python manage.py startapp movie
在pycharm中打開項目的manage管理器, 而後輸入建立應用的命令startapp appname
audio和video 音頻標籤和視頻文件標籤
mysql:admin 、root 密碼: Root110qwe 、qwe123
Django 管理
# 建立admin後臺管理用戶: python manage.py createsuperuser
mysite project: 用戶: admin 密碼:wz926493 郵箱:1432294852@qq.com
demo_django project 用戶:admin 密碼:ww123456 郵箱:1432294852@qq.com