Django 小實例S1 簡易學生選課管理系統 第2節——新建項目(project)並進行設置
點擊查看教程總目錄
作者自我介紹:b站小UP主,時常直播編程+紅警三,python1對1輔導老師。
0 - 版本說明
- python: 3.6.5
- Django: 2.2.11
安裝或更新見本人博客Django自學筆記0-2 框架版本與相關工具
1 - 新建項目
關於新建項目,我之前的博客有詳細寫過:
Django自學筆記 1-1 新建項目
所以這里簡單展示新建過程和結果。
- 通過命令行新建本項目(本項目名為 SSCMS)
django-admin startproject SSCMS
運行后項目文件夾結構如下
SSCMS
|--manage.py
|--SSCMS
|--settings.py
|--urls.py
|--wsgi.py
|--__init__.py
- 使用Pycharm新建本項目
File->New Project后,左側欄選擇Django,Location設置為自己的項目文件夾(沒有會自動新建),其他不動,截圖如下

點擊create就好了,此時項目文件夾結構如下
SSCMS
|--manage.py
|--SSCMS
| |--settings.py
| |--urls.py
| |--wsgi.py
| |--__init__.py
|--templates
這里和上方命令行新建的項目文件夾結構中相比,多了一個templates文件夾,
沒關系,沒有 templates 文件夾新建一個templates文件夾就好。
這里簡單說一下,templates文件夾是用來存放模板template的。
模板template具體后面會說。
2 - 設置
理論上在1中會自動生成設置好了的設置文件:./SSCMS/settings.py
但是由於版本不同或者一些其他的原因,可能會存在設置文件不對(沒設置完)的情況。
此時需要手動校對下./SSCMS/settings.py, 主要是檢查設置下這幾個
- INSTALLED_APPS
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
- MIDDLEWARE
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
- TEMPLATES
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
- DATABASES
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
同時后續我們也需要添加一些我們自己的設置,這個后面遇到再說
3 - 新建應用(app) - user、course
對於新手而言,往往會困惑應用(app)是什么?
這里粗略的解釋下,對於一個項目(project)而言,應用(app)可以理解為模塊、子系統,用於承載一個項目中相對獨立的一塊功能。
就像一個房子一般要由多個房間(門廳,餐廳,客廳,卧室,廚房,衛生間等)組成,一個項目往往由多個應用組成。
比如本項目中,將教務管理系統分為用戶、課程模塊。
對於小的項目來說,只有一個應用也是可以的,但是對於大一點的項目,推薦將功能先划分為不同的模塊,否則就像一個房子只用一個房間承載餐廳客廳卧室廚房衛生間的功能。。。
通過命令行新建應用(app)
py manage.py startapp app_name
教務管理系統中,我們首先需要用戶模塊,用戶模塊名為user, 那么命令行如下
py manage.py startapp user
如果系統中同時安裝有python2和python3,則需要指定python版本為3
此時命令如下
py3 manage.py startapp user
新建應用(app)后,要去 setting.py中的INSTALLED_APPS添加應用user
INSTALLED_APPS添加后如下
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'user',
]
建好應用(app)后項目文件夾如下
SSCMS
|--manage.py
|--SSCMS
| |--settings.py
| |--urls.py
| |--wsgi.py
| |--__init__.py
|--templates
|--user
|--admin.py
|--apps.py
|--migrations
| |--__init__.py
|--models.py
|--tests.py
|--views.py
|--__init__.py
然后同理,通過命令行新建應用:course,代表課程模塊
py manage.py startapp course
去 setting.py中的INSTALLED_APPS添加應用course
4 - 建立相關文件夾
在本文第一部分,簡單介紹過了用於存放模板的templates文件夾。
除了這個,我們還需要建立用於存放靜態文件的static文件夾,
直接用電腦在項目文件夾下右鍵新建文件夾並命名為static即可
然后項目文件夾如下
SSCMS
|--manage.py
|--SSCMS
|--settings.py
|--urls.py
|--wsgi.py
|--__init__.py
|--static
|--templates
|--user
|--admin.py
|--apps.py
|--migrations
|--__init__.py
|--models.py
|--tests.py
|--views.py
|--__init__.py
|--course
|--admin.py
|--apps.py
|--migrations
|--__init__.py
|--models.py
|--tests.py
|--views.py
|--__init__.py
5 - 運行項目
- A、通過Pycharm來運行(推薦)
Pycharm專業版會自動為Django項目添加一個可以運行的服務器配置
直接點擊這里就可以運行了

對於什么都沒有的新項目,運行后訪問
http://127.0.0.1:8000/
將如下圖

運行后,點擊這個紅色的方塊,即可關閉服務器。

- B、命令行運行服務器(不推薦)
在項目文件夾中打開命令行並執行
py manage.py runserver
在命令行中,按Ctrl+C可關閉服務器
- C、 Pycharm未自動添加一個可以運行的服務器配置
如果你是Pycharm社區版(免費版),可能Pycharm不會自動添加一個可以運行的服務器配置。
那么你需要手動添加一個服務器配置
在pycharm右上角這里點擊下拉后出現的Edit Configurations

在彈出的窗口中按照以下步驟操作

其中,
3中的name可以自己定義,
4中的文件要設置成自己項目下的manage.py文件
操作完成后點擊窗體右下角的Apply按鈕就好。
就可以像本部分A(第五部分通過Pycharm來運行)中那樣運行這個項目了
