Django 小实例S1 简易学生选课管理系统 —— 二、新建项目(project)、设置、运行

05实战:django项目环境搭建(pycharm,virtualBox的使用)、数据库的创建 本文讲解django在linux环境下如何搭建项目,并连接pycharm远程,以及mysql数据库的创建 阅读详情

作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师。

python Django实现的一个简易的教务选课系统。
介绍与演示的视频版本已发到我的b站: https://www.bilibili.com/video/BV1er4y1w7ty。
项目已上传到我的github: https://github.com/BigShuang/SimpleStudentCourseManagementSystem。

S1总目录:

〇、初步介绍与演示
一、项目流程梳理与数据库设计
二、新建项目(project)、设置、运行
三、创建用户模型(model)
四、实现登录页面
五、实现注册功能

======================= 大爽歌作,made by big shuang =======================

二、新建项目(project)并进行设置

1 - 新建项目

关于新建项目,我之前的博客有详细写过:
Django自学笔记 1-1 新建项目
所以这里简单展示新建过程和结果。

  • 通过命令行新建本项目(本项目名为 SSCMS)
django-admin startproject SSCMS

运行后项目文件夹结构如下

SSCMS
|--manage.py
|--SSCMS
   |--settings.py
   |--urls.py
   |--wsgi.py
   |--__init__.py
  • File->New Project后,选择Django并设置好Location,截图如下
  • 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就好了,此时项目文件夹结构如下

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

对于新手而言,往往会困惑应用(app)是什么?

这里粗略的解释下,对于一个项目(project)而言,应用(app)可以理解为模块、子系统,用于承载一个项目中相对独立的一块功能。

就像一个房子一般要由多个房间(门厅,餐厅,客厅,卧室,厨房,卫生间等)组成,一个项目往往由多个应用组成。
比如本项目中,将教务管理系统分为用户、课程模块。

对于小的项目来说,只有一个应用也是可以的,但是对于大一点的项目,推荐将功能先划分为不同的模块,否则就像一个房子只用一个房间承载餐厅客厅卧室厨房卫生间的功能。。。

通过命令行新建应用(app)

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

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

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项目 您可以使用Django的命令行工具来创建一个新的应用。您可以使用Django的命令行工具来创建一个新的应用。在安装完Django之后,我们可以通过使用Django的命令行工具来创建一个新的Django项目。安装完Django之后,我们可以通过使用Django的命令行工具来创建一个新的Django项目。在这个示例中,我们定义了一个名为MyModel的模型,它有一个名为name的CharField和一个名为age的IntegerField。这将在当前目录下创建一个名为"myproject"的Django项目。 阅读详情

相关推荐

Django实战:部署项目 【资产管理系统】,Django完整项目学习研究(项目全解析,部署教程,非常详细)

关于Django,我已经和大家分享了一些知识,考虑到一些伙伴需要在实际的项目中去理解。所以我上传了一套Django的项目学习源码,已经和本文章进行了绑定。大家可以自行下载学习,考虑到一些伙伴是初学者,几年前,编者也是从初学者一路学习到现在。当时,很希望有一套完整的项目源码去理解,更好地学习。当得到了源码,却又不会部署,或者不会处理报错,为此,我编写了这篇文章。

梦断南楼的博客 1795

Django项目实例详解(一)

通过本文,您已经学会了如何使用Django框架创建一个简单的博客网站。这只是一个入门级别的示例,Django提供了更多功能和选项,可以用于构建更复杂的Web应用程序。

weixin_56863624的博客 1940

Python+Flask+sqlite实现的选课系统

Python+Flask+sqlite实现的选课系统 大致包含4个页面,登陆页面,选修课程页面,必修课程页面和已选课程页面 登陆之后出现的页面中没有任何课程列表,需点击左边的选修课、必修课按钮添加选课(Compulsory course、Optional course),点击用户名即可跳转到已选课程页面 PS:将整个项目载入PyCharm之后,运行run.py即可

Django项目开发操作实例

Django项目开发的实战与总结

Phillip_xian的博客 4039

开源处理器Rocket的分支预测机制研究与性能评估(二)

Rocket是基于RISC-V指令集架构的开源处理器,具有分支预测功能,其实现了GShare分支预测机制,在分析Rocket处理器分支预测处理过程、分支预测实现原理的基础上,利用模拟器进行了性能测试,并依据测试结果,对Rocket处理器分支预测参数配置给出建议。

leishangwen的专栏 5691

超详细YOLOv8姿态检测全程概述:环境、训练、验证与预测详解

本篇博客详细介绍了使用YOLOv8-pose进行姿态估计的全过程,包括不同版本模型的性能比较、训练与验证步骤,以及预测代码的实现。它对模型参数、训练过程和输出结果进行了解释,同时提供了详细的配置文件示例和标签数据格式说明。此外,还演示了如何使用预训练模型进行图像预测,并如何处理和理解预测结果。最后,它还讨论了如何评估和比较不同模型的性能。如果有哪里写的不够清晰,小伙伴本可以给评论或者留言,我这边会尽快的优化博文内容,另外如有需要,我这边可支持技术答疑与支持。

CDBmax的博客 3万+

【实战】Django从零搭建个人网站

Django,零基础,网站,音乐

m0_48943965的博客 1万+

【YOLO 系列】基于YOLOv8的工业零件表面缺陷智能检测系统【python源码+Pyqt5界面+数据集+训练代码】

本文详细介绍了如何基于YOLOv8深度学习模型和PyQt5图形界面,构建一套完整的工业零件表面缺陷智能检测系统。内容涵盖从环境搭建、数据集标注、模型训练调参到最终封装成可执行桌面软件的全流程,并深入解析了YOLOv8在工业视觉场景中的技术优势与落地优化策略。

ol78901234的博客 402

Django实战技巧

迭代思维与MVP产品规划 MVP: minimum viable product 最小可用产品。核心是忽略一切细枝末节,做合适的假设和简化,使用最短的时间开发出来。 MVP功能范围 产品的核心目标是什么?核心用户是谁?核心的场景是什么? 产品目标都需要在线上完成或者呈现吗? 最小MVP产品要做哪些事情?能够达到业务目标? 哪些功能不是在用户流程的核心路径上的? 做哪些简化和假设,能够在最短的时间交付产品,并且让业务流程跑起来? 初识Django 优点: 提供管理后台,方便开发 支持中间件 内置安全框架 丰富

运维求生之路 772

触摸开关原理图_反激式开关电源PCB设计要点

由于最近工作中经常用到反激开关电源,就顺便做个有关反激电源PCB Layout方面的简单总结。关于变压器和补偿环路的设计原理和方法,可以参考之前的文章,链接如下:电子小白菜:反激电源变压器设计篇之详细设计步骤​zhuanlan.zhihu.com电子小白菜:反激电源变压器设计篇之基础原理​zhuanlan.zhihu.com电子小白菜:【干货分享】开关电源环路补偿设计步骤讲解​zhuanlan.z...

weixin_39574868的博客 1159

MAX31865三线PT100测温实战:配置、接线与代码全解析

本文详细解析MAX31865三线PT100测温的配置、接线与代码实现。通过实战经验分享,介绍如何利用MAX31865芯片实现高精度温度测量,重点讲解三线制接法的自动误差补偿功能,并提供完整的寄存器配置、SPI通信和温度转换算法,帮助开发者快速解决工业测温中的常见问题。

ss78901的博客 757

06-Django项目实战

模块功能验证图形验证、短信验证用户注册、登录、用户中心(基本信息、邮箱激活、收货地址、我的订单、修改密码)第三方登录QQ登录首页广告首页广告商品商品列表、商品搜索、商品详情、商品浏览记录购物车购物车管理、购物车合并订单确认订单、提交订单、订单商品评价支付支付宝支付1.新建MySQL数据库:name2.新建MySQL用户3.授权poppies用户访问name数据库4.授权结束后刷新特权。

apple_52651630的博客 892

Lisflood

文献:基于SWMM和LISFLOOD-FP模型的居住区低影响开发模拟评价。问题:多个节点溢流同时,不行,待解决。目录下,cmd命令行。

警警的博客 2663

django项目的简单例子

django简单的案例,用到跳转,随机写的题

qq_67326908的博客 1658

SMR实战指南:从GWAS数据到eQTL分析的完整流程

本文提供了基于汇总数据的孟德尔随机化(SMR)实战指南,详细解析了如何从GWAS汇总数据出发,整合eQTL数据,完成从数据准备、BESD格式转换到最终SMR与HEIDI分析的完整流程。文章重点阐述了核心操作步骤、常见避坑技巧与结果解读,旨在帮助遗传学研究者高效掌握这一分析基因表达与复杂性状潜在因果关系的强大工具。

weixin_29246195的博客 1068

基于咸鱼最新九宫格图标验证码的语义增强模型识别

本文探讨了破解复杂验证码的技术思路,重点分析了某平台的九宫格验证码应对策略。作者提出通过图像语义抽取和增强技术来扩充数据集:先采集少量真实样本,利用形态学操作进行前增强生成变形图像,再通过叠加背景噪声进行后增强。同时强调真实数据集的重要性,建议采用真实+生成数据的混合训练方法。实验表明该方法可使模型准确率达到95%以上,但作者特别声明本文仅供技术研究,严禁用于非法用途。

码王吴彦祖的博客 601

Django框架实战教程

其中,`myproject`是你要创建的数据库名称,`root`是MySQL数据库的用户名,`password`是MySQL数据库的密码,`localhost`是MySQL数据库的主机地址,`3306`是MySQL数据库的端口号。现在,我们需要在 `blog` 应用程序中创建 `urls.py` 文件,并将其包含在主 URL 路由配置中。执行完毕后,你会在`myproject`目录下看到多了一个名为`myapp`的文件夹,其中包含了一个名为`views.py`的视图文件以及其他一些文件。

m0_75198698的博客 1743

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Django开发实例总结(入门级、4.2.6、详细)

Django是一个用于构建Web应用程序的高级Python Web框架。它遵循了MVC(Model-View-Controller)的软件设计模式,并采用了MTV(Model-Template-View)的变种。模型(Model)、模板(Template)、视图(Views)。1. 确保在文件中,TEMPLATES......},这将告诉Django在`myapp`应用程序的`templates`目录中查找模板文件。2. 在urls.py文件中正确配置了URL模式。

墨痕诉清风的博客 3801

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Python/django开发点菜信息管理系统/sqlite/PyCharm/源码

5. 订单信息查看:对已经存在的订单可以查看信息和状态(等待后厨接单、后厨已接单、等待上菜、上菜完成)。3. 职工信息管理:管理员可以登录该系统对已经注册的职工个人信息进行增加、删除、改动、查找等操作。4. 餐桌信息管理:管理员可以对该系统对已经存在的餐桌信息进行增加、删除、改动、查找等操作。5. 菜品信息管理:管理员可以对该系统对已经存在的菜品信息进行增加、删除、改动、查找等操作。4. 订单信息查看:顾客可以对自己的订单明细进行查询核对。2. 后厨接单:对于已经存在的订单可以接单。

a1939239057的博客 343

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

python毕业设计基于django的学生在线选课系统教务管理系统

本系统是针对目前在线选课系统管理的实际需求,从实际工作出发,对过去的在线选课系统系统存在的问题进行分析,完善用户的使用体会。采用计算机系统来管理信息,取代人工管理模式,查询便利,信息准确率高,节省了开支,提高了工作的效率。本系统结合计算机系统的结构、概念、模型、原理、方法,在计算机各种优势的情况下,采用python语言,结合django框架与Vue框架以及MYSQL数据库设计并实现的。员工管理系统主要包括个人中心、课程管理、专业管理、院系信息管理、学生选课管理、课程成绩信息管理等多个模块。

QQ177825331的博客 632

Django之日志的配置使用

setting.py中 LOGGING = { 'version': 1, 'disable_existing_loggers': False, # 是否禁用已经存在的日志器 'formatters': { # 日志信息显示的格式 'verbose': { 'format': '%(levelname)s %(asctime)s ...

yunlibiqing的博客 505

Django博客项目实战

Django博客项目实战 一、项目简介 项目名称:久至博客 开发模式:前后端分离模式 主体功能: ​ 1)用户功能 ​ 2)文章功能 ​ 3)留言功能 ​ 4)支付功能 二、前后端分离 定义及优缺点 前端:即客户端,负责渲染用户显示界面【如web的js动态渲染页面,安卓,IOS,PC客户端等】 后端:即服务器端,负责接收http请求,处理数据 API:Application Programming Interface 是一些预先定义的函数,或指软件系统不同组成部分衔接的约定 请求过程 前

Yp_desiger的博客 6213

Django毕业设计源代码学生在线选课系统

计算机毕业设计python毕设项目之django高校学生在线选课系统

1036

Django在线教育平台项目完整实现(五)

可在万网进行域名的购买,然后进行ICP备案,之后点入阿里云域名控制台,点击域名的解析-添加记录,记录类型选择A,输入主机记录(即子域名),记录值填入公网IP,TTL选择默认10分钟即可。在阿里云控制台中的实例-网络和安全组-安全组配置-配置规则-入方向-快速添加,规则方向选择入方向,授权策略选择允许,勾选22、23、80、443、3306、6379端口。在入方向中手动添加,授权策略选择允许,优先级选1,协议类型选择自定义TCP,目的输入8000/8000,源填入0.0.0.0/0。

kkill_youokk_的博客 900

基于Python的Django学生选课管理系统的设计与实现

与此同时,本人通过借鉴现有的成熟的学生选课管理系统,该学生信学生选课管理系统涉及到学生、教师、系统管理员、班级、学生选课、课程。本课题是一个学生选课管理系统,选课管理是高校的一项年度工作,具有保证公平、数据庞大、计算复杂的特点,在计算机信息技术日益发展的今天,很多领域都已经实现了信息管理网络,可以最大限度地提高测评效率和改进了质量,改善学生选课管理系统的环境和条件,减少或避免各种差错和弊病,缩短学生选课管理系统的处理周期,并用科学的管理办法,借助各种先进技术,提高管理和决策的水平。

lingpao1688的博客 301

django项目实战一(django+bootstrap实现增删改查)

class UserModelForm(forms.ModelForm) 与def user_model_form_add(request)方法。另一个方法:按下图操作之后就可省略上图 python manage.py 命令直接输入后面的即可。新增user_edit.html页面(url前面全部配置好了)在templates下创建depart_list.html。数据从数据库里做几个,后续新增就可以实现页面新增。修改user_list.html,删除红色方框。,注释db.sqlite3的配置新增下图。

春天的波菜 2617
上一篇: Django 小实例S1 简易学生选课管理系统 —— 一、项目流程梳理与数据库设计
下一篇: Django 小实例S1 简易学生选课管理系统 —— 三、创建用户模型(model)
大爽歌
博客等级 码龄9年 422粉丝 92原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值