45.Python-web框架-Django - 开始建立第一个项目

news2025/6/26 6:01:11

目录

1.django是什么?

2.Pycharm 社区版,还是专业版?

3.开始django,Pycharm专业版

创建一个Django项目

运行一个Django项目

运行方法一,命令行的方式

运行方法二,配置Django Server的方式

4.django尊容如何?

前端

后台管理端

5.数据库的配置

默认的数据库sqlite

在setting.py里配置新的数据库postgresQL

​编辑

迁移数据库(可以认为是初始化数据)

两个命令

方式一,Ctrl+Alt+R,打开manage.py工具

makemigrations

migrate

方式二,命令行

python manage.py makemigrations

python manage.py migrate

初始化的数据库表

6.再看后台管理界面

后台管理界面,登录页

创建一个超级管理员

后台管理界面


1.django是什么?

Django是一个高级的、免费的、开源的Web应用框架,它由Python编程语言编写而成。Django遵循模型-视图-控制器(MVC)的设计模式,但通常将其称为模型-视图-模板(MVT)架构。它的主要特点是:

快速开发:Django旨在简化Web应用的构建过程,允许开发者快速地创建功能丰富的网站。
DRY原则:Django遵循“Don't Repeat Yourself”(DRY)原则,鼓励代码复用,减少冗余。
数据库驱动:它内置了ORM(对象关系映射)系统,使得处理数据库操作变得简单,无需编写SQL语句。
安全性:Django提供了许多内置的安全防护措施,如防止跨站脚本攻击(XSS)、跨站请求伪造(CSRF)等。
强大的URL路由:Django允许灵活定义URL模式,将URL映射到特定的视图函数。
内置的管理员界面:Django提供了一个可自定义的后台管理系统,方便管理数据库中的数据。
模板系统:Django的模板语言允许开发者创建动态HTML页面,支持继承、过滤器和标签等功能。
可扩展性:Django拥有丰富的第三方库和插件,如Django Rest Framework用于API开发,Django Channels支持WebSocket等异步通信。
社区支持:Django有一个活跃的开发者社区,提供各种教程、文档和论坛支持,如Django中文社区、官方论坛和Discord服务器。
遵循Web标准:Django支持现代Web开发的最佳实践,如使用HTTP/2、响应式设计和性能优化。
由于这些特性,Django成为了构建复杂、高性能Web应用的首选框架之一。

2.Pycharm 社区版,还是专业版?

使用Pycharm分为社区版(免费)和专业版(可破)。

专业版可以直接创建Django项目。专业版有个代码提示的功能,非常方便,写完一句代码,回车后就会猜测你的下一句代码,你直接在此基础上进行修改就好。挺好的。

社区版需要先创建一个普通项目,然后pip install django,再使用命令django-admin startproject prjName创建django项目。没有那个代码预测的功能,自己慢慢敲也是可以的。

可以的话,还是专业版,更专业。

3.开始django,Pycharm专业版

创建一个Django项目

从菜单File--New Project,填好信息后,直接create

项目创建中,会安装Django

创建好的项目:

运行一个Django项目

项目创建完成后,可以直接运行。我们先试试常规办法,在文件上右键,选择Run XXX

运行的结果,直接exit 了。Django有自己的运行方式,而且不只一种呢。

运行方法一,命令行的方式

使用下面的命令执行,默认的端口是8000

Python manage.py runserver

也可以使用命令指定端口:

Python manage.py runserver 127.0.0.1:8001

运行方法二,配置Django Server的方式

配置一个Django server,输入host和port

直接运行

4.django尊容如何?

前端

后台管理端

Django后台提供了检点用户、权限等管理功能。现在,还没有建立数据库表所以报错了哈。

5.数据库的配置

默认的数据库sqlite

在setting.py里配置新的数据库postgresQL

#配置postgres数据库
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'dCore',
        'USER': 'postgres',
        'PASSWORD': '123456',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }

安装postgreSQL的驱动

pip install psycopg2

迁移数据库(可以认为是初始化数据)

两个命令

makemigrationsmigrate在Django框架中扮演着不同的角色,它们的主要区别在于职责和功能。12

  1. makemigrations:

    • 功能:makemigrations命令用于创建数据库迁移文件。它会检测应用程序中的模型变化,并生成相应的迁移文件来描述如何将旧的数据模型转换为新的数据模型。
    • 过程:在创建迁移文件时,Django会自动检测模型的增加、删除、修改等操作,并将其记录在迁移文件中。迁移文件是一个Python脚本,包含了一个Migration类,其中定义了如何对数据库进行变更的操作。
    • 自定义:开发人员可以通过编辑迁移文件来自定义数据库迁移的行为。
  2. migrate:

    • 功能:migrate命令用于应用数据库迁移,它会根据迁移文件中的操作指令,将数据库结构更新为最新的模型定义。
    • 过程:Django会检查迁移文件,并将其中的变化应用到数据库中,确保数据库的结构与模型的结构保持一致。
    • 依赖:migrate命令还会根据迁移目录中间代码文件和Django的数据库django_migrations表中的代码文件做对比,如果表中没有那就对这些没有文件按顺序和依赖关系做迁移应用,然后再把代码文件名加进迁移表中。

方式一,Ctrl+Alt+R,打开manage.py工具

makemigrations

migrate

方式二,命令行

python manage.py makemigrations
python manage.py migrate

初始化的数据库表

6.再看后台管理界面

后台管理界面,登录页

创建一个超级管理员

使用命令createsuperuser

一次输入用户名、邮箱、密码

创建完成后,就可以使用登录。

后台管理界面

至此,Django的开发基础就做完了。

你的顺利吗?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1822889.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

编译原理:语法分析之LR分析

自底向上分析方法(LR分析算法)bottom-up parsing 引言. 运算符 LR(0)LR(0)的项(构建有穷自动机的状态)LR(0)的项目闭包(构建有穷自动机的状态)GOTO函数有效项目LR(0)有穷自动机的构建 SLRLR(1)LALR 引言 L…

树莓派4B学习笔记7:(Python)_TTL串口收发数据_

今日继续学习树莓派4B 4G:(Raspberry Pi,简称RPi或RasPi) 本人所用树莓派4B 装载的系统与版本如下: 版本可用命令 (lsb_release -a) 查询: Opencv 版本是4.5.1: 今日尝试使用树莓派的TTL串口进行收发数据: …

Web应用安全测试-业务功能滥用(二)

Web应用安全测试-业务功能滥用(二) 7、未验证的URL跳转 漏洞描述:服务端未对传入的跳转url变量进行检查和控制,可能导致可恶意构造任意一个恶意地址,诱导用户跳转到恶意网站。由于是从可信的站点跳转出去的&#xff…

无线MODBUS通讯模块在供水系统中的应用

一、项目背景 我国是人口大国、农业大国,同时也是贫水大国。由于大量工业废水污染了部分河流、地表的浅层水资源,并且有逐年加重的趋势,再加上农业、绿化等灌溉对水资源的大量消耗,这些因素综合作用进一步加剧了我国水资源紧缺的…

计算机网络:网络层 - IPv6

计算机网络:网络层 - IPv6 IPv6 数据报IPv6 地址冒号十六进制记法地址分类 IPv4 到 IPv6 过渡双栈协议隧道技术 IPv6 是互联网协议的最新版本,它被设计用来取代现有的 IPv4 协议。这是因为 IPv4 存在一些根本性的限制,而 IPv6 则可以解决这些…

Burp Suite使用及BruteForc_test靶场实战

简介 Burp Suite是用于攻击和测试Web应用程序安全性的集成平台,包含多个协同工作的工具,支持信息共享与复杂攻击。设计有加速攻击流程的接口,所有工具共享强大框架,处理HTTP消息、持久性、认证、代理、日志和警报。主要用于安全性…

【数据结构】【版本1.1】【线性时代】——单链表

快乐的流畅:个人主页 个人专栏:《算法神殿》《数据结构世界》《进击的C》 远方有一堆篝火,在为久候之人燃烧! 文章目录 引言一、顺序表的问题二、链表的概念三、单链表的模拟实现3.1 定义3.2 打印3.3 创建新节点3.4 头插3.5 尾插3…

2-3 基于matlab的NSCT-PCNN融合和创新算法(NSCT-ML-PCNN )图像融合

基于matlab的NSCT-PCNN融合和创新算法(NSCT-ML-PCNN )图像融合。NSSCTest.m文件:用于查看利用NSSC算法分解出的图像并保存。其中的nlevel可调test.m文件:用于产生融合结果,其中一个参数需要设置:Low_Coeffs…

DTU在城市智慧供热上的应用:引领供热行业的智能化革新

随着城市化的快速推进和人们对舒适生活需求的日益增长,供热系统作为城市基础设施的重要组成部分,其智能化、高效化的发展已成为必然趋势。在这一进程中,DTU(Data Transfer Unit,数据传输单元)以其独特的优势…

Java 反射机制 -- Java 语言反射的概述、核心类与高级应用

大家好,我是栗筝i,这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 010 篇文章,在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验,并希望进一步完善自己对整个 Java 技术体系来充实自…

113.网络游戏逆向分析与漏洞攻防-邮件系统数据分析-结构体数据更新思路分析

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果,代码看不懂是正常的,只要会抄就行,抄着抄着就能懂了 内容…

12_YouOnlyLookOnce(YOLOv3)新一代实时目标检测技术

1.1 回顾V1和V2 V1:05_YouOnlyLookOnce(YOLOV1)目标检测领域的革命性突破-CSDN博客 V2:07_YouOnlyLookOnce(YOLOv2)Better,Faster,Stronger-CSDN博客 1.2 简介 YOLOv3(You Only Look Once version 3)是…

【因果推断python】33_合成控制3

目录 不要外推 不要外推 假设您有下表中的数据,并被要求构建一个合成控制,以使用控制单元的任何线性组合来重现处理过的单元。 由于有 3 个单位和只有 2 个属性要匹配,因此有多个确定性的解决方案可以解决这个问题,但一个不错的解…

[vue2]深入理解路由

本节目标 单页应用程序路由概念VueRouter基本使用组件分类存放路由模块封装声明式导航其他路由配置路由模式编程式导航案例-面经基础版 单页应用程序 单页应用程序(SPA): 所有的功能都在一个HTML页面上实现 网易云音乐: 网易云音乐 多页应用程序(MPA): 不同功能通过切换不同…

数字芯片设计指南之几个微流片设计(已开源)

1 位 ALU 作者 利奥慕时 描述 书中的 1 位 ALU Structured Computer Organization: Andrew S. Tanenbaum 链接 Wokwi 链接 & GitHub 链接 图片 桶形移位器 作者 约翰内斯霍夫(Johannes Hoff) 描述 将 6 位数字向左移动 0-3 位 链接 …

【CGAL】圆柱体检测结果后处理

文章目录 文章说明算法思路代码展示结果展示 文章说明 这篇文章主要介绍,对使用CGAL中的 Region Growing 算法爬取圆柱体的结果进行后处理,以获取位置、轴向量、半径都较为合理的单个圆柱体。 在之前的一篇文章中,使用了open3D生成的标准圆…

2024 年勒索软件将比以往更加残酷

如今,世界各地的人们去学校、去医院或去药店时,都会被告知:“抱歉,我们的计算机系统瘫痪了。” 罪魁祸首往往是在世界另一端活动的网络犯罪团伙,他们会要求人们支付系统访问费用或安全归还被盗数据。 尽管警方加大打…

搜维尔科技:【应用】人形机器人将成为引领产业新浪潮的尖兵

特斯拉纷纷发表人形机器人计划,预示这项先进科技将成为下一个颠覆性的殖民地。人形机器人被视为继电脑、智能手机和电车之后,又一个将改变世界的创新产品。 全球人口结构正在快速老化,至2050年60岁以上人口将达22%,是现今的两倍。劳动人口短缺迫在眉睫&…

Koolshare 软件中无法显示 Aliddns 更新泛域名失败

华硕 AC86U 升级之后,软件中心无法显示,没有找到更好的办法,只能重新格式化,带来的问题就是升级之前安装的软件全部被清掉了。感觉升级之后,可能兼容性出了问题。 Aliddns 更新失败 Aliddns 是一款可以在路由器上动态…

仰望U8三大黑科技,重新定义智能汽车

文 | 智能相对论 作者 | 雷歌 是时候重新定义中国的“智能汽车”了。 在仰望U8出来以前,普通人对知道的智能汽车的配置认识,智能汽车是智能驾驶智能座舱,硬件上大概是这几样:毫米波雷达激光雷达智驾芯片。 仰望U8出来以后&…