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来运行)中那样运行这个项目了

Django 小实例S1 简易学生选课管理系统 2 新建项目(project)并进行设置的更多相关文章

  1. Django 小实例S1 简易学生选课管理系统 12 CSS样式完善

    Django 小实例S1 简易学生选课管理系统 第12节--CSS样式完善 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 课程模块的逻辑代码到这里 ...

  2. Django 小实例S1 简易学生选课管理系统 11 学生课程业务实现

    Django 小实例S1 简易学生选课管理系统 第11节--学生课程业务实现 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 课程模块中,学生需要拥 ...

  3. Django 小实例S1 简易学生选课管理系统 10 老师课程业务实现

    Django 小实例S1 简易学生选课管理系统 第10节--老师课程业务实现 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 课程模块中,老师将要使 ...

  4. Django 小实例S1 简易学生选课管理系统 9 创建课程模型(model)

    Django 小实例S1 简易学生选课管理系统 第9节--创建课程模型(model) 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 对于课程模块, ...

  5. Django 小实例S1 简易学生选课管理系统 8 CSS样式优化

    Django 小实例S1 简易学生选课管理系统 第8节--CSS样式优化 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 前面的几节下来,用户模块基 ...

  6. Django 小实例S1 简易学生选课管理系统 7 修改个人信息

    Django 小实例S1 简易学生选课管理系统 第7节--修改个人信息 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 用户模块除了注册登录之外,还 ...

  7. Django 小实例S1 简易学生选课管理系统 6 实现登录逻辑

    Django 小实例S1 简易学生选课管理系统 第6节--实现登录逻辑 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 1 业务逻辑 本教程第四节里 ...

  8. Django 小实例S1 简易学生选课管理系统 3 创建用户模型(model)

    Django 小实例S1 简易学生选课管理系统 第3节--创建用户模型(model) 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 本文涉及到的新 ...

  9. Django 小实例S1 简易学生选课管理系统 4 实现登录页面

    Django 小实例S1 简易学生选课管理系统 第4节--实现登录页面 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 本文涉及到的新的额外知识点: ...

随机推荐

  1. Dapr + .NET Core实战(十-终篇)K8S运行Dapr

    工作原理 为了实现在k8s上安装Dapr,Dapr需要部署dapr-sidecar-injector.dapr-operator.dapr-placement和dapr-sentry服务. dapr- ...

  2. The art of multipropcessor programming 读书笔记-硬件基础2

    本系列是 The art of multipropcessor programming 的读书笔记,在原版图书的基础上,结合 OpenJDK 11 以上的版本的代码进行理解和实现.并根据个人的查资料以 ...

  3. 【k8s】使用k8s部署一个简单的nginx服务

    名词解释 Namespace 表示命名空间 Deployment 表示pod发布 Service 表示多个pod做为一组的集合对外通过服务的表示 kubectl 是k8s的命令行操作命令,可以创建和更 ...

  4. mysql学习教程之mysql管理

    MySQL 管理 启动及关闭 MySQL 服务器 Windows 系统下 在 Windows 系统下,打开命令窗口(cmd),进入 MySQL 安装目录的 bin 目录. 启动: cd c:/mysq ...

  5. Python技法2:函数参数的进阶用法

    1.关键字参数(positional argument)和位置参数(keyword argument) Python函数的参数根据函数在调用时(注意,不是函数定义时)传参的形式分为关键字参数和位置参数 ...

  6. 人力节省 50%,研发效能提升 40%,阿里 Serverless 架构落地实践

    作者 | 万佳 嘉宾 | 杨皓然(不瞋) 导读:云的下一波浪潮是什么?杨皓然称"是 Serverless".作为一名阿里老兵,他早在 2010 年即加入阿里云,曾深度参与阿里云飞天 ...

  7. BG的本性

    BG的本性 更舒适的体验 算法一: 我还会暴力!模拟一下 复杂度 \(O(nm)\), 期望得分10 算法二: 用线段树优化枚举,直接找可行点 复杂度 \(O(\mathrm{ans} \log_2 ...

  8. Java(19)接口知识及综合案例

    作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15201629.html 博客主页:https://www.cnblogs.com/testero ...

  9. 如何查找一个目录中所有c文件的总行数

    如何查找一个目录中所有c文件的行数 面试题问到了一题,如何统计wc文件夹下所有文件的行数,包括了子目录. 最后在 https://blog.csdn.net/a_ran/article/details ...

  10. paramiko远程控制host执行脚本的用法

    import paramiko ssh = paramiko.SSHClient() print ssh.get_host_keys() ssh.set_missing_host_key_policy ...