上一篇[原創: 雲服務器實戰系列6] Python3 + Django + uwsgi + nginx + Mysql部署環境搭建&django應用初始化python
如下全部操做, 都是在Window主機上. 當前使用的是window7 64位系統mysql
(venv)James@James-PC MINGW64 /d/Projects/bt_django (master)$ pip install virtualenv --user
複製代碼
(venv)James@James-PC MINGW64 /d/Projects/bt_django (master)$ virtualenv --no-site-packages venv
複製代碼
當前使用的是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
複製代碼
(venv)James@James-PC MINGW64 /d/Projects/bt_django (master)$ django-admin startproject mySite
複製代碼
由於使用的是mysql數據庫, 須要修改默認數據庫相關的配置以下:sql
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 數據庫類型
'NAME': 'test', # 項目數據庫名稱
'HOST': '120.1.1.1', # 數據庫地址
'PORT': '3306', # 端口號
'USER': 'test', # 數據庫用戶名
'PASSWORD': 'test', # 數據庫密碼
}
}
複製代碼
若數據庫沒有建立db庫和用於測試賬戶, 可按以下步驟操做:數據庫
mysql> CREATE DATABASE IF NOT EXISTS dbName DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
複製代碼
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
(venv)James@James-PC MINGW64 /d/Projects/bt_django (master)$ source venv/Scripts/activate
複製代碼
進入到mySite目錄下, 並執行python manage.py runserver
bash
(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應用已經運行起來了.服務器
這裏會建立一個在線考試系統, 所以命名爲: online_exam_systemsession
$ python manage.py startapp online_exam_system
複製代碼
命令執行後, 會在mySite目錄下生成如下文件:
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.")
複製代碼
online_exam_system/urls.py
中添加以下代碼:from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
複製代碼
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),
]
複製代碼
/es
. 運行好本地開發服務器後, 訪問: http://127.0.0.1:8000/es/
, 便可看到:一般, 在settings.py的INSTALLED_APPS
默認包括瞭如下 Django 的自帶應用:
默認開啓的某些應用須要至少一個數據表,因此,在使用他們以前須要在數據庫中建立一些表。請執行如下命令:
$ 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數據庫表設計最終以下: !未完, 待續!