[原創: 雲服務器實戰系列7] django初體驗

上一篇[原創: 雲服務器實戰系列6] Python3 + Django + uwsgi + nginx + Mysql部署環境搭建&django應用初始化python

如下全部操做, 都是在Window主機上. 當前使用的是window7 64位系統mysql

django項目建立

安裝virtualenv

(venv)James@James-PC MINGW64 /d/Projects/bt_django (master)$ pip install virtualenv --user
複製代碼

在bt_django(clone至本地的倉庫)中建立獨立的Python環境, 並命名爲: venv

(venv)James@James-PC MINGW64 /d/Projects/bt_django (master)$ virtualenv --no-site-packages venv
複製代碼

進入至venv虛擬Python環境

當前使用的是git bashnginx

(venv)James@James-PC MINGW64 /d/Projects/bt_django (master)$ source venv/Scripts/activate
複製代碼

在cmd命令行的話, 可用:git

> venv/Scripts/activate.bat
複製代碼

安裝依賴

(venv)James@James-PC MINGW64 /d/Projects/bt_django (master)$ pip install django djangorestframework mysqlclient
複製代碼

建立django工程mySite

(venv)James@James-PC MINGW64 /d/Projects/bt_django (master)$ django-admin startproject mySite
複製代碼

settings.py

由於使用的是mysql數據庫, 須要修改默認數據庫相關的配置以下:sql

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',   # 數據庫類型
        'NAME': 'test',                         # 項目數據庫名稱
        'HOST': '120.1.1.1',                    # 數據庫地址
        'PORT': '3306',                         # 端口號
        'USER': 'test',                         # 數據庫用戶名
        'PASSWORD': 'test',                     # 數據庫密碼
    }
}
複製代碼

若數據庫沒有建立db庫和用於測試賬戶, 可按以下步驟操做:數據庫

添加DB

mysql> CREATE DATABASE IF NOT EXISTS dbName DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
複製代碼

添加用戶並受權可訪問dbName庫的全部表

mysql> grant all privileges on dbName.* to test@'%' identified by 'test';
Query OK, 0 rows affected
mysql> flush privileges;
Query OK, 0 rows affected

mysql> 
複製代碼

至此, django項目已完成初始化和相關配置, 能夠在本地試運行了.django

運行本地django項目

進入到虛擬的python環境

(venv)James@James-PC MINGW64 /d/Projects/bt_django (master)$ source venv/Scripts/activate
複製代碼

運行django本地開發服務器

進入到mySite目錄下, 並執行python manage.py runserverbash

(venv) D:\Projects\bt_django\mySite>python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
November 14, 2019 - 20:43:19
Django version 2.2.7, using settings 'mySite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
複製代碼

驗證

訪問http://127.0.0.1:8000/, 便可看到, 咱們的本地django應用已經運行起來了.服務器

建立app

這裏會建立一個在線考試系統, 所以命名爲: online_exam_systemsession

$ python manage.py startapp online_exam_system
複製代碼

命令執行後, 會在mySite目錄下生成如下文件:

編寫第一個視圖

  1. online_exam_system/views.py中添加以下代碼:
from django.http import HttpResponse


def index(request):
    return HttpResponse("Hello, world. You're at the online exam system index.")
複製代碼
  1. online_exam_system/urls.py中添加以下代碼:
from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]
複製代碼
  1. 在根 URLconf 文件中指定咱們建立的 online_exam_system/urls.py 模塊。在 mySite/urls.py 文件的 urlpatterns 列表裏插入一個 include(), 以下:
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('es/', include('online_exam_system.urls')),
    path('admin/', admin.site.urls),
]
複製代碼
  1. 運行本地開發服務器& 訪問路由/es. 運行好本地開發服務器後, 訪問: http://127.0.0.1:8000/es/, 便可看到:

初始化數據庫

一般, 在settings.py的INSTALLED_APPS 默認包括瞭如下 Django 的自帶應用:

  • django.contrib.admin -- 管理員站點, 你很快就會使用它。
  • django.contrib.auth -- 認證受權系統。
  • django.contrib.contenttypes -- 內容類型框架。
  • django.contrib.sessions -- 會話框架。
  • django.contrib.messages -- 消息框架。
  • django.contrib.staticfiles -- 管理靜態文件的框架。 這些應用被默認啓用是爲了給常規項目提供方便。

默認開啓的某些應用須要至少一個數據表,因此,在使用他們以前須要在數據庫中建立一些表。請執行如下命令:

$ python manage.py migrate
複製代碼

這個 migrate 命令檢查 INSTALLED_APPS 設置,爲其中的每一個應用建立須要的數據表,至於具體會建立什麼,這取決於你的 mysite/settings.py 設置文件和每一個應用的數據庫遷移文件。

以上命令執行完成後, 經過Naviacat for MySQl能夠看到, 已經爲咱們建立了一些數據表, 表名稱與關聯圖以下所示:

後臺管理

django默認提供了一套後臺管理系統, 以當前工程爲例, 若想進入後臺管理系統, 須要先建立一個超級管理員賬號:

python manage.py createsuperuser
複製代碼

按提示操做, 輸入相關信息. 而後開啓本地開發服務器, 訪問: http://127.0.0.1:8000/admin/, 將會看到以下界面

輸入用戶名和密碼後, 默認將會看到:

online_exam_system數據庫表設計

online_exam_system數據庫表設計最終以下: !未完, 待續!

推送至遠端

部署django應用

驗證

相關文章
相關標籤/搜索