首页 > 其他分享 > Django项目创建应用(二)

Django项目创建应用(二)

时间:2023-02-16 18:22:06浏览次数:53  
标签:djangoProject 创建 py Django 应用 Test pythonProject2023 python3.8 myApp

四、创建应用

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

(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、浏览器访问得到函数的返回结果

 

 

标签:djangoProject,创建,py,Django,应用,Test,pythonProject2023,python3.8,myApp
From: https://www.cnblogs.com/yclh/p/17127839.html

相关文章

  • nuxt3 项目创建笔记
    一.npxnuxiinitnuxt3-club创建项目的时候会报错: ERRORFailedtodownloadtemplatefromregistry:requesttohttps://raw.githubusercontent.com/nuxt/start......
  • 进程创建的步骤
    进程的创建过程1、映射EXE文件。2、创建内核对象EPROCESS。3、映射系统DLL(ntdll.dll)。4、创建线程对象ETHREAD5、系统启动线程进入LdrInitializeThunk......
  • 【数据结构】栈与队列的实际应用——球钟问题
    球钟:球钟为一种计时工具,其主要原理为通过小球的移动来进行实践的记录。它有三个能容纳若干球的指示器:小时指示器、五分钟指示器、分钟指示器。如果小时、五分钟、分钟指示......
  • Android Studio创建模拟器
    创建方法:1.选择DeviceManager   2.选择Createdevice   3.选择一个你喜欢的  4.下载下来  5.AVD配置(一般默认就好)  6.完成啦,大功告......
  • react从零开始创建使用01
    一、react使用场景:可以开发web应用可以开发移动端原生应用(react-native)可以开发VR虚拟现实应用(react360)二、react安装使用:命令安装npminstallreactrea......
  • Docker-应用部署案例
    1、Docker部署mysql拉取mysql镜像#查询mysql镜像dockersearchmysql#拉取镜像命令dockerpullcentos/mysql-57-centos7创建容器dockerrun-di--name=tes......
  • 对服务器进行心跳检测 python django
    (由于春节期间连不上服务器,但又不知道是不是服务器关机了,因此写一个心跳检测功能遇到问题时可以排查部分原因)具体来说分为客户端和服务端,客户端为校园服务器,服务端为我们自......
  • QT 中qcos()、qAcos()三角函数的应用
    正余弦函数:角度*M_PI/180qcos(弧度制)只有里面放弧度制,才能算的精准,假设要算30°的cos值,那么对30°进行转换为弧度制即可。qcos(30*M_PI/180) 对反三角函数:值*180/......
  • 关于通过IPMITOOL工具创建管理员用户时,通过这个新建管理员无法打开ikvm的权限的问题。
    问题描述在我们通过ipmitool工具来添加管理员用户及权限后,web页面kvm无法正常打开。 添加用户命令:ipmitool-Ilanplus-H10.18.114.233-UADMIN-PADMINuse......
  • 通过html打开USB摄像头和共享桌面或应用
    通过html显示USB摄像头点击查看代码<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=e......