上一篇[原创: 云服务器实战系列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数据库表设计最终以下: !未完, 待续!