'''
自己独立写一个学员管理系统 表结构:
班级表:
-id
-grade_name
学生表:
-id
-student_name
-grade 关联外键班级表
老师表:
-id
-teacher_name
-grades (多对多 关联班级表) '''

在写小项目之前我们先复习一下小知识:

1、 form表单提交数据的注意事项:

  1. 是form不是from,必须要有method和action
  2. 所有获取用户输入的表单标签要放在form表单里面,表单标签必须要有name属性
  3. form表单必须要有submit按钮

2、GET和POST方法:

什么时候用GET:

  1、向服务端请求一个网页的时候
  2、搜索引擎检索时
什么时候用POST:
  1、使用表单向服务器提交数据时

3、Django中的APP概念

  1. 创建APP命令
python3 manage.py startapp app名字
  2. 告诉Django你新建的app叫啥
settings.py里面,INSTALLED_APPS这个配置项里面加上你的app

4、Django里面的ORM的使用:

1. 告诉Django连接那个数据库

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', #这里也要写上mysql
'NAME': '这里写连接的库名',
'HOST': '127.0.0.1',
'PORT': 3306,
'USER': 'root',
'PASSWORD': '',
}
}

连接数据库的样式

2. 告诉Django怎么连接
  Django默认使用的是 MySQLdb模块 连接数据库,z告诉Django用pymysql这个模块去连接MySQL
在settings.py同目录下的__init__.py文件中,指定使用pymysql模块代替MySQLdb

import pymysql
pymysql.install_as_MySQLdb()

在settings.py同目录下的__init__.py的代码

3. 在app/models.py文件中定义类,一定要继承models.Model

4. 执行创建表的操作(命令行输入)

  1. python3 manage.py makemigrations --> 将models.py的修改登记到小本本上
  2. python3 manage.py migrate --> 将修改翻译成SQL语句,去数据库执行

5、新建Django项目的步骤:

  1. 创建项目(APP)
  2. 创建数据库和配置数据库
  3. 配置templates和静态文件相关
  4. 注释掉 settings.py中 csrf那一行

6、Django的模板语言(字符串替换的规则)

1. {{变量}} {{变量.属性}}
2. for循环
{% for i in xx %}
{{i}}
{% endfor %}
forloop.counter --> 计数
3. if判断
{% if 条件 %} 
条件成立要做的事儿
{% else %}
条件不成立要做的事儿
{% endif %}
具体代码还是到Github看吧!链接:https://github.com/qianzeliang/student_manage

python3开发进阶-Django框架学习前的小项目(一个简单的学员管理系统)的更多相关文章

  1. python3开发进阶-Django框架起飞前的准备

    阅读目录 安装 创建项目 运行 文件配置的说明 三个组件 一.安装(安装最新LTS版) Django官网下载页面 根据官方的图版本,我们下载1.11版本的,最好用! 有两种下载方式一种直接cmd里: ...

  2. python3开发进阶-Django框架的自带认证功能auth模块和User对象的基本操作

    阅读目录 auth模块 User对象 认证进阶 一.auth模块 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其 ...

  3. python3开发进阶-Django框架的中间件的五种用法和逻辑过程

    阅读目录 什么是中间件 中间件的执行流程 中间件的逻辑过程 一.什么是中间件? 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子.它是一个轻量.低级别的插件系统,用于在全局范围 ...

  4. python3开发进阶-Django框架的详解

    一.MVC框架和MTV框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分: 模型(Model).视图(View)和控制器(Con ...

  5. python3开发进阶-Django框架的起飞加速一(ORM)

    阅读目录 ORM介绍 Django中的ORM ORM中的Model ORM的操作 一.ORM介绍 1.ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一 ...

  6. python3开发进阶-Django框架的Form表单系统和基本操作

    阅读目录 什么是Form组件 常用字段和插件 自定义校验的方式 补充进阶 一.什么是Form组件 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标 ...

  7. python3开发进阶-Django框架中的ORM的常用操作的补充(F查询和Q查询,事务)

    阅读目录 F查询和Q查询 事务 一.F查询和Q查询 1.F查询 查询前的准备 class Product(models.Model): name = models.CharField(max_leng ...

  8. python3开发进阶-Django框架的ORM常用字段和参数

    阅读目录 常用字段 字段合集 自定义字段 字段参数 关系参数 多对多的关联关系的三种方式 一.常用字段 AutoField int自增列,必须填入参数 primary_key=True.当model中 ...

  9. python3开发进阶-Django框架中的ORM的常用(增,删,改,查)操作

    阅读目录 如何在Django终端打印SQL语句 如何在Python脚本中调用Django环境 操作方法 单表查询之神奇的下划线 ForeignKey操作 ManyToManyField 聚合查询和分组 ...

随机推荐

  1. P2764 最小路径覆盖问题

    题目描述 «问题描述: 给定有向图G=(V,E).设P 是G 的一个简单路(顶点不相交)的集合.如果V 中每个顶点恰好在P 的一条路上,则称P是G 的一个路径覆盖.P 中路径可以从V 的任何一个顶点开 ...

  2. socket编程 ------ 建立 TCP 服务器和客户端流程(阻塞方式)

    服务器端: 服务器端先创建一个socket,然后把这个socket绑定到端口上,接着让它向tcp/ip协议栈请求一个监听服务并创建一个accept队列来接受客户端请求. void creat_tcpS ...

  3. QT QLayout 清空

    QLayout* pLayout = (QLayout*)ui->frame->layout(); )) { QWidget* pWidget = child->widget(); ...

  4. php 计算两个日期的间隔天数

    使用php内部自带函数实现 1.使用DateTime::diff 实现计算 参考阅读>>PHP DateTime::diff() 上代码: <?php $start = " ...

  5. 使用vue开发webApp,安卓手机自带回退键的问题解决

    首先,我先为大家说明,为什么我要写这篇随笔: 因为我们写的webapp,在安卓手机上,按一次回退键,就会退出app,回到桌面,而不是像原生app一样,会有一个提示,例如,“再按一次退出应用”的这种提示 ...

  6. js闭包,原型,作用域等再一次理解

    要理解闭包,原型等,首先要理解作用域 作用域:就是函数在定义的时候创建的,用于寻找使用到的变量的值的一个索引,而他内部的规则是,把函数自身的本地变量放在最前面,把自身的父级函数中的变量放在其次,把再高 ...

  7. 转:深入理解javascript原型和闭包系列

    转自:深入理解javascript原型和闭包系列 从下面目录中可以看到,本系列有16篇文章,外加两篇后补的,一共18篇文章.写了半个月,从9月17号开始写的.每篇文章更新时,读者的反馈还是可以的,虽然 ...

  8. Java基础学习知识体系图

  9. python基础(3)_列表、元组、字典

    一.列表 定义:[ ] 内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性: > 可存放多个值 > 可修改指定索引位置对应的值,可变 > 按照从左到右的顺序定义列表 ...

  10. phpcms v9 后台添加修改页面空白页问题解决方法

    phpcms v9 添加修改页面空白页的解决方法 找一个正常运行的phpcms 将caches\caches_model\caches_data 目录下的 content_form.class.php ...