四、创建应用

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

(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. 解决VS2019 DevExpress工具不显示问题

    一.序言 环境:NetFramework4.5,vs2019社区板 ,DevExpress 14.2.3 项目类型:winfrom 二.解决 找到DevExpress安装路径下的Bin\Framewo ...

  2. web自动化中如何使用cookie登录

    做web自动化的时候,登录是关键的一步.但每次频繁的输入用户名.密码导致心态有些爆炸,所以使用cookie登录势在必行.下面是两种场景的cookie登录. 一. cookie登录1 这种是界面地址跳转 ...

  3. JZOJ 3226. 【HBOI2013】ALO

    题目 网上自己搜 解析 区间异或很容易想到可持久化字典树 但本题的关键是如何高效率求出以某个数为区间最大值时这个区间的范围 依题我们知道区间最长可到比它第二大的位置(开区间) 所以我们如果能找到每个数 ...

  4. CF1311F Moving Points

    题目传送门 思路 给出一种不需要脑子的四颗树状数组解法. 这四颗树状数组分别为:一颗维护负数,一颗维护负数个数,一颗维护正数,一颗维护正数个数. 首先考虑没有速度该怎么求. 不妨先按 \(x_i\) ...

  5. Commons-Collections反序列化

    Java反序列化漏洞 Commons Collections Apache Commons 是 Apache 软件基金会的项目.Commons Collections 包为 Java 标准的 Coll ...

  6. Infinity 和 -Infinity

    认识 Infinity 在 JavaScript 中超出 1.797693134862315E+308 的数值即为 Infinity,小于 -1.797693134862316E+308 的数值为无穷 ...

  7. LeetCode-386 字典序排数

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/lexicographical-numbers 题目描述 给你一个整数 n ,按字典序返回范围 [ ...

  8. mongodump导出mongodb中的数据

    如果数据量小,用navicat或者其它客户端可以很方便的导出数据,但如果数据量比较大的话,建议用mongo官方工具 mongodump 下载地址: https://www.mongodb.com/tr ...

  9. 微信JS-SDK自定义分享接入的注意点

    微信文档 ,https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html, 在用微信自定义分享,遇到了几个坑,记录一 ...

  10. CodeGym自学笔记04——什么是编译器?

    编译器 编程语言可以同时被人和编译器所理解.编译器是一个特殊的程序,它可将用编程语言编写的程序转换成一系列的机器代码. 程序员通常用编程语言来编写程序,然后运行编译器,将程序员编写的程序代码文件转换为 ...