Django项目创建应用(二)
四、创建应用
一个项目里可以创建多个应用,每个应用进行一种业务处理
(1)激活当前项目的环境
D:\pythonProject2023\djangoProject>activate python3.8forDjango
(python3.8forDjango) D:\pythonProject2023\djangoProject>conda info -e
# conda environments:
#
myenv C:\Users\yc\.conda\envs\myenv
base D:\ProgramData\Anaconda3
python3.8env D:\ProgramData\Anaconda3\envs\python3.8env
python3.8forDjango * D:\ProgramData\Anaconda3\envs\python3.8forDjango
(2)创建应用 myApp
(python3.8forDjango) D:\pythonProject2023\djangoProject>python manage.py startapp myApp
1、myApp的目录结构

(1)migrations:这是一个目录,用于存储应用的数据库表结构的指令,通过这些指令可以修改和创建数据库,从而实现models.py模型类和数据库表之间迁移。
(2)admin.py:自定义Django管理工具,比如设置在管理界面能够管理的项目,或者通过重新自定义与系统管理有关的类对象,向管理功能增加新的内容。
(3)apps.py:Django1.10之后增加的,通常包含对应用的配置,比如为管理功能提供一个合适的应用名称。
(4)models.py:这是应用的数据模型,每个Django应用都应当有一个models.py文件,虽然该文件可以为空,但不宜删除。
(5)tests.py:在这个文件中可以编写测试文档来测试所创建的应用。
(6)views.py:这是一个重要的文件,用于保存响应各种请求的函数或者类。如果编写的是函数,则基于函数的视图;如果编写的是类,则称为基于类的视图。views.py就是保存函数或者类的视图文件。当然,也可以用其他的文件名称,只不过在引入相应函数或者类时,要注意名称的正确性,views.py是我们习惯使用的文件名称。
2、激活应用

3、 定义模型

4、安装mysql驱动
D:\pythonProject2023\djangoProject> pip3 install pymysql
5、 生成迁移文件
D:\pythonProject2023\djangoProject>python manage.py makemigrations

6、 执行迁移文件
D:\pythonProject2023\djangoProject>python manage.py migrate

此时数据库里多了myapp_test表,此外还生成了一些其他的表暂时不用管。

7、 测试模型操作数据
D:\pythonProject2023\djangoProject>python manage.py shell

引入相关的类 其中Test是自己创建的模型
>>> from myApp.models import Test
>>> from django.utils import timezone
>>> from datetime import *
(1)查询数据
Test.objects.all()

(2)添加数据
test = Test()
test.name ="testname"
test.save()

数据库了就有数据了

再次查询结果很爽
>>> Test.objects.all()

为了解决返回值问题进行如下操作
<1>添加返回值

<2>退出shell环境,重新引入类,执行查询

(3)查询某条数据
>>> Test.objects.get(pk=1)

(4)修改数据
>>> Test.objects.get(pk=1)
<Test: testname>
>>> t = Test.objects.get(pk=1)
>>> t.name = "newName"
>>> t.save()
>>> Test.objects.get(pk=1)
<Test: newName>

(5)删除数据
删除不用保存直接生效
>>> t.delete()
(1, {'myApp.Test': 1})
8、让程序运行起来
D:\pythonProject2023\djangoProject>python manage.py runserver

浏览器查看

9、创建超级管理员
python manage.py createsuperuser
注:密码为1

进入管理界面

10、汉化

修改后重启服务

11、管理数据表
注册模型

注册后表就可以在页面上看到

12、查看列表改造
为了显示效果,模型里增加一个age属性

(1) 显示字段
这是展示列表的顺序


(2)过滤器

(3)查找

(4)顺序
这里展示数据详情的顺序


五、视图
1、定义视图

2、在myApp下创建一个urls.py 内容如下图
haha 是任意的一个字符串,是访问路径,views.index后面的index就是上一步创建的函数

3、在根目录的urls.py中引入myApp应用中的urls.py,下图中的test可以任意写

4、浏览器访问得到函数的返回结果

Django项目创建应用(二)的更多相关文章
- Django学习之二:Django 项目创建 和 应用创建
Django 项目创建 和 应用创建 创建一个Django项目 都是在相应平台的命令行环境下操作: 1. 进入用于存放项目的目录下 1.1 windows下切换目录:先进入具体的分区磁盘中如E盘就输入 ...
- Web框架之Django_01初识(三大主流web框架、Django安装、Django项目创建方式及其相关配置、Django基础三件套:HttpResponse、render、redirect)
摘要: Web框架概述 Django简介 Django项目创建 Django基础必备三件套(HttpResponse.render.redirect) 一.Web框架概述: Python三大主流Web ...
- Django项目创建02
Django项目创建(ubuntu环境) 1. 创建项目目录,我是在root下创建了一个workspace文件夹:mkdir workspace 然后cd到该目录下 命令:django-adm ...
- 路飞-后台Django项目创建
后台:Django项目创建 环境 """ 为luffy项目创建一个虚拟环境 >: mkvirtualenv luffy """ &qu ...
- 后台:Django项目创建
后台:Django项目创建 环境 """ 为luffy项目创建一个虚拟环境 >: mkvirtualenv luffy """ &qu ...
- 【Django笔记0】-Django项目创建,settings设置,运行
Django项目创建,settings设置,运行 1,项目创建 通过pip下载Django以后,在cmd中cd到想要创建项目的路径,之后输入: django-admin startproject ...
- Django 项目创建到启动(最全最详细的第一个项目)
一.前言 (一).概述 Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django. Django是一个开放源代码的Web应用框架 ...
- python django项目创建及前期准备(使用pycharm)
一.创建django项目 1.打开pycharm软件 2.点击菜单栏 File-->New Project,弹出如下对话框,如下图设置 二.基本配置 1.静态文件目录配置(用于客户端访问后台服务 ...
- windows下django项目创建流程
一.创建djangoa项目 1.将python39\Scripts 加入系统环境变量. 2.django-admin startproject 项目名称 二.设置setting 1.语言设置zh-ha ...
- 为django项目创建虚拟环境
1. 先创建一个存放虚拟环境的目录 /opt/venl mkdir /opt/venl 2. cd 到该存放虚拟环境的目录下,并创建一个虚拟环境 virtualenv是如何创建“独立”的Python ...
随机推荐
- C语言小程序-天天酷跑类游戏 26号完成
1.创建游戏内背景 2.实现人物 奔跑 跳跃 优化帧 3.障碍物 出现 https://kxd.lanzoul.com/iKXU20elmtah 开源地址 半成品
- libco 源码剖析(1): 协程上下文切换之 32 位
libco 源码剖析(1): 协程上下文切换之 32 位 相关背景资料 关于汇编语言及内存布局相关基础,参看 参考文献[0], 参考文献[1] 32 位协程上下文结构如下: // coctx.h st ...
- Rocky Linux安装
1.下载 VirtualBox并安装 https://www.virtualbox.org/wiki/Downloads 2.下载Rocky Linux 选择 Rocky-9.1-x86_64-dvd ...
- FCoE简单介绍
目录 FCoE 使用前提 FCoE FCoE是一种融合网络技术,其目的是将FC帧封装到以太网帧中,实现以太网链路与光纤链路通信的功能. SAN一般指存储区域网络,FC SAN 有光纤组网,IP SAN ...
- CF335F Buy One, Get One Free
\(\text{Solution}\) 其实不想写(因为不好写... 所以贴贴 \(\text{Solution}\) 然而就关于这题而言讲得也不太清楚 可撤销贪心就是维护当前状态的最优解,同时考虑以 ...
- Vue学习笔记之计算属性、内容分发、自定义事件
1. 计算属性 计算属性的重点突出在属性两个字上(属性是名词),首先它是个属性其次这个属性有计算的能力(计算是动词),这里的计算就是个函数:简单点说,它就是一个能够将计算结果缓存起来的属性(将行为转化 ...
- 极速编程体验:VsCode和webstorm插上ChatGPT
ChatGPT走入了千家万户,而她最适合的用法之一就是进行编程辅助,特别是对一些常规开发,有比较好的引导作用. 很多主流编辑器都有相关的插件支持接入ChatGPT,而VsCode和webstorm是我 ...
- ps4双手柄inputManager设置
ps4键位 https://blog.csdn.net/egostudio/article/details/51463819 xbox键位 http://www.360doc.com/content/ ...
- unity puerTS热更
https://blog.csdn.net/yupu56/article/details/120766597
- 【补题】The 2022 SDUT Summer Trials
比赛链接 The 2022 SDUT Summer Trials A. Ginger's number 样例恶臭(恼) 签到题 简单分解因数就会发现要求的就是\(gcd\),直接算即可,时间复杂度\( ...