四、创建应用

一个项目里可以创建多个应用,每个应用进行一种业务处理

(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项目创建应用(二)的更多相关文章

  1. Django学习之二:Django 项目创建 和 应用创建

    Django 项目创建 和 应用创建 创建一个Django项目 都是在相应平台的命令行环境下操作: 1. 进入用于存放项目的目录下 1.1 windows下切换目录:先进入具体的分区磁盘中如E盘就输入 ...

  2. Web框架之Django_01初识(三大主流web框架、Django安装、Django项目创建方式及其相关配置、Django基础三件套:HttpResponse、render、redirect)

    摘要: Web框架概述 Django简介 Django项目创建 Django基础必备三件套(HttpResponse.render.redirect) 一.Web框架概述: Python三大主流Web ...

  3. Django项目创建02

    Django项目创建(ubuntu环境) 1.    创建项目目录,我是在root下创建了一个workspace文件夹:mkdir workspace  然后cd到该目录下 命令:django-adm ...

  4. 路飞-后台Django项目创建

    后台:Django项目创建 环境 """ 为luffy项目创建一个虚拟环境 >: mkvirtualenv luffy """ &qu ...

  5. 后台:Django项目创建

    后台:Django项目创建 环境 """ 为luffy项目创建一个虚拟环境 >: mkvirtualenv luffy """ &qu ...

  6. 【Django笔记0】-Django项目创建,settings设置,运行

    Django项目创建,settings设置,运行 1,项目创建 ​ 通过pip下载Django以后,在cmd中cd到想要创建项目的路径,之后输入: django-admin startproject ...

  7. Django 项目创建到启动(最全最详细的第一个项目)

    一.前言 (一).概述 Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django. Django是一个开放源代码的Web应用框架 ...

  8. python django项目创建及前期准备(使用pycharm)

    一.创建django项目 1.打开pycharm软件 2.点击菜单栏 File-->New Project,弹出如下对话框,如下图设置 二.基本配置 1.静态文件目录配置(用于客户端访问后台服务 ...

  9. windows下django项目创建流程

    一.创建djangoa项目 1.将python39\Scripts 加入系统环境变量. 2.django-admin startproject 项目名称 二.设置setting 1.语言设置zh-ha ...

  10. 为django项目创建虚拟环境

    1. 先创建一个存放虚拟环境的目录  /opt/venl mkdir /opt/venl 2. cd 到该存放虚拟环境的目录下,并创建一个虚拟环境 virtualenv是如何创建“独立”的Python ...

随机推荐

  1. Git 多账号 SSH 配置

    [前言] 在企业工作环境中,我们一般会用企业的github或gitlab等账号,同时也会配置相关的ssh访问方式. 当我们想要同时操作个人github或gitlab仓库时,就无法重复使用现有的ssh公 ...

  2. ECharts 柱状图横轴(X轴)文字内容显示不全

    1.问题描述 ECharts在限制显示区域大小或者数据内容过多的时候有时会使得柱状图横轴(X轴)显示不全的问题,效果如下图所示. 2.解决办法 1)更改grid布局 原来布局 option = { g ...

  3. JZOJ 4872.集体照

    \(\text{Problem}\) 一年一度的高考结束了,我校要拍集体照.本届毕业生共分 \(n\) 个班,每个班的人数为 \(A_i\).这次拍集体照的要求非常奇怪:所有学生站一排,且相邻两个学生 ...

  4. php .inc 文件

    inc 文件顾名思义是include file的意思.即PHP的包含文件,这里用后缀来表示文件的作用, inc文件一般加载一些设置 举个例子   <? php//这里是数据库连接的配置信息db. ...

  5. 关于Visual Studio使用头文件"stdafx.h"报错原因

    当我们需要使用"stdafx.h"该头文件时,Visual Studio会报错,提示我们无法打开源文件"stdafx.h",实际上在Visual Studio中 ...

  6. docker .net core3.1 Dockerfile

    安装步骤和core 2.x 一样 看之前的随笔:Docker配置dotnet core项目 直接看Dockerfile FROM mcr.microsoft.com/dotnet/core/aspne ...

  7. Bouncy Castle密码算法库

    Bouncy Castle密码算法库 一.开发背景 Bouncy Castle 是一种用于 Java 平台的开放源码的轻量级密码术包.它支持大量的密码术算法,并提供 JCE 1.2.1 的实现.因为 ...

  8. Electron 应用图标修改

    1,首先给窗口添加图标: 1) 窗口图标是图片jpg或者png格式,如果没有图标去[https://www.aigei.com/icon/?wd=icon%E7%BD%91&bd_vid=10 ...

  9. vue子传父 .indexOf('1')!=-1

    子传父 1.先在父级页面的子组件上加上自定义事件  <SearchSelector @attrinfo="propsinfo" /> 2.在子组件里面写方法传 //点击 ...

  10. tabs 滑动效果

    https://www.zhangxinxu.com/wordpress/2020/07/css-var-improve-components/ 伪类选择器 https://blog.csdn.net ...