Django項目環境搭建

項目環境搭建

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

  Mmodels  模型:負責業務數據對象與數據庫對象
  T: templates 模板:負責如何把數據展現給用戶
  Vviews 視圖:負責業務邏輯
 
  Mmodels 模型:負責業務數據對象與數據庫對象
  Vviews 視圖 負責與用戶交互的頁面
  Ccontroller 控制器 接受用戶的輸入調用模型與視圖(相似咱們的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

相關文章
相關標籤/搜索