pycharm中直接创建django项目

输入创建项目名(如first_django)

在此输入应用名(如g_tu)

此为项目总目录

将first_django中settings.py中第58行修改为以下代码
'DIRS': [os.path.join(BASE_DIR , 'templates')]
在此代码中搜索DATABASES将代码修改为以下

连接MySQL数据库

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'stu', #创建的表名
'HOST':'127.0.0.1',
'PORT':3306,
'USER':'root', #用户名
'PASSWORD':'123456' #密码
}
}

在first_django中urls中输入以下代码

path('',views.index),   #主页为views中的index函数
在models.py中创建两个表
 
class Grade(models.Model):
g_name = models.CharField(max_length=200)
class Student(models.Model):
s_name = models.CharField(max_length=200)
age = models.CharField(max_length=200)
sex = models.CharField(max_length=200)
emali = models.CharField(max_length=200)
password = models.CharField(max_length=200)
g = models.ForeignKey(Grade, on_delete=models.CASCADE)
之后在打开pycharm中打开cmd输入
python manage.py makemigrations   #创建sql语句
python manage.py sqlmigrate 0001 #查看sql语句
python manage.py migrate #执行sql语句
在g_stu中views中引入
from g_stu.models import Grade,Student
输入函数index
def index(request):
g = Grade(g_name="一班") #增加数据
g.save() #提交
return render(request,"index.html") #返回网页index
在templates中创建index.html文件
 
在first_django中urls中输入以下代码
path('show/',views.show),  #跳转到为views中的show函数
path('<int:id>',views.student,name="student")
#传值 类型为int 为view中student函数
在g_stu中views中输入函数show展示数据
def show(request):
g_all = Grade.objects.all() #查询Grade表所有数据
return render(request, "show.html",{
"grade":g_all #注意传回值为字典
}) #返回show.html页面 传回查询的所有数据 def student(request,id): #接受id
gr = Grade.objects.filter(id=id).first() #条件查询 查找符合条件的第一条数据
s = Student(s_name="张三",age="20",sex="男",emali="111@qq.com",password="111",g=gr) #插入数据外键等于查询数据的主键
s.save()
return render(request,"stu.html",{"s":s}) #返回stu.html页面 传回插入的数据s
在templates中创建show.html文件
{% for i in grade %}   #循环传回字典的值
<a href="{% url 'student' i.id %}">{{ i.g_name }}</a> #展示每条数据
#{% url 'student' i.id %} 此句为给student视图传回此条数据的id值
{% endfor %} #结束循环
在templates中创建stu.html文件
{{ s.s_name }}  #展示数据
{{ s.age }}
{{ s.sex }}
{{ s.emali }}
{{ s.password }}
执行代码
python manage.py runserver
点击执行代码后的链接
在后输入/show 即为展示班级页面
点击班级即为添加学生页面

django(django学习) 两张表创建 插入数据的更多相关文章

  1. Springboot+Mybaits之两张表同时插入数据

    项目需求是,一张表添加数据的同时,另外一张表也需要添加数据,话不多说,直接上代码. 1.Controller,我把两个DTO直接放到一个@RequestBody中.其中throws是后台获取当前时间抛 ...

  2. SQLServer两张表筛选相同数据和不同数据

    概述 项目中经常会对两张数据库表的数据进行比较,选出相同的数据或者不同的数据.在SQL SERVER 2000中只能用Exists来判断,到了SQL SERVER 2005以后可以采用EXCEPT和I ...

  3. django同时查询两张表的数据,合并检索对象返回

    原始需求: 1.一篇文章内容分N个版块,每篇文章的版块数量不同. 2.有个文章搜索功能,需要同时搜索标题和内容. 实现思路: 1.由于每篇文章的内容版块数量不同,因此将每个文章的标题和内容分开存入2张 ...

  4. mysql左连接右连接(查询两张表不同的数据)

    有两张表:一张A表he一张B表 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 :right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录: ...

  5. SQL两张表筛选相同数据和不同数据

    原文链接:http://www.cnblogs.com/onesmail/p/6148979.html 方法一: select distinct A.ID from A where A.ID not ...

  6. SqlServer SqlBulkCopy批量插入 -- 多张表同时插入(事务)

    这段时间在解决一个多个表需要同时插入大量数据的问题,于是在网上找了下,查到说用SqlBulkCopy效率很高,实验后确实很快,10万条数据只要4秒钟,用ef要用40秒.但是我的还需两张表同时插入,且需 ...

  7. MySQL实验1: 新建一个名为 library 的数据库,包含 book、reader 两张表,根据自己的理解安排表的内容并插入数据。

    数据表(table)简称表,它是数据库最重要的组成部分之一.数据库只是一个框架,表才是实质内容. 实验: 新建一个名为 library的数据库,包含 book.reader两张表,根据自己的理解安排表 ...

  8. 【第十五篇】easyui datagrid的列编辑,同时插入两张表的数据进去

    看图说话. 需求:插入两张表,上面的表单是第一张表的内容,下面的两个表格是第二张详情表的内容,跟第一张表的id关联 第二张表有一个列是需要用户手动填写添加的. 国际惯例,上代码 <div id= ...

  9. 初学者使用MySQL_Workbench 6.0CE创建数据库和表,以及在表中插入数据。

    标签: mysqlworkbench数据库 2013-10-09 20:17 19225人阅读 评论(14) 收藏 举报  分类: mysql(1)  版权声明:本文为博主原创文章,未经博主允许不得转 ...

随机推荐

  1. Git的介绍及使用

    一.配置用户信息: 配置用户名和邮箱: $ git config --global user.name "chunyu" $ git config --global user.em ...

  2. 双十一,就用turtle画个单身狗送给自己

    今年的双十一到了 但还有谁记得双十一是 单身狗的节日 单身狗的我是时候站出来 捍卫自己的权益了 单身是一种怎样的状态? 我们所有人都单身过,但也许只有很少的人真正体验过. 短视频内容完全是假的,全程是 ...

  3. php将富文本内容图片上传到oss并替换

    /** * php 提取html中图片并替换 */ //要替换的内容 //提取图片路径的src的正则表达式 $match_str = '/(<img([^>]*)\s*src=(\'|\& ...

  4. 强迫自己学习Jquery三

    元素定位问题 offset 和 position必须要好好看一下,

  5. SpringBoot进阶教程(六十五)自定义注解

    在上一篇文章<SpringBoot进阶教程(六十四)注解大全>中介绍了springboot的常用注解,springboot提供的注解非常的多,这些注解简化了我们的很多操作.今天主要介绍介绍 ...

  6. shell中if/seq/for/while/until

    1.if语句格式:  if 判断条件:then statement1 statement2 fi; 例子: 判断/test/a普通文件是否存在,存在则输出yes,不存在则输出no,并创建.  #! / ...

  7. AQS详解,并发编程的半壁江山

    千呼万唤始出来,终于写到AQS这个一章了,其实为了写这一章,前面也是做了很多的铺垫,比如之前的 深度理解volatile关键字 线程之间的协作(等待通知模式) JUC 常用4大并发工具类 CAS 原子 ...

  8. 关于android.view.InflateException【转载】

    在AndroidStudio中编译没有问题,但是运行时会crash,常发生于自定义View的引用.出现问题的原因大致分为以下几种 1.引用View的路径问题:如果自定义的view为CustomerVi ...

  9. 信息论-Turbo码学习

    1.Turbo码: 信道编码的初期:分组码实现编码,缺点有二:只有当码字全部接收才可以开始译码,需要精确的帧同步时延大,增益损失多 解决方案:卷积码:充分利用前一时刻和后一时刻的码组,延时小,缺点:计 ...

  10. Cassandra + JSON?答案就是Stargate Documents API

    JSON已经被开发者在很多场景中频繁使用,但是其实将Cassandra用于JSON或其他面向文档的用例并不容易. 为了让开发者在使用原生的JSON的同时还能享受Cassandra带来的可靠性和伸缩性, ...