当前位置: 首页 > news >正文

Django框架:python web开发

1.环境搭建:

(a)开发环境:pycharm

(b)虚拟环境(可有可无,优点:使用虚拟环境可以把使用的包自动生成一个文件,其他人需要使用时可以直接选择导入包,不需要额外的环境搭建。缺点:占一丢丢储存)

(c)Django下载,下载到pycharm根目录。打开项目目录,在资源管理器中的项目目录中打开终端,然后直接pip。或者在官网中下载。

(d)创建Django项目:左上角新建Django项目,展开更多设置,可以选择创建html模版,和初始app(填写名字才会创建)。创建项目之后会自动创建很多个py文件

2.HTTP通信过程:

当我们访问地址时

这里访问本地地址,其中8000为端口号,index为路由。

我们指定当我们访问路由为index,我们可以在urls.py中找到路由所对应的视图函数,那么就会自动运行我们的视图函数。例如这里写了路由index对应的函数为index,所以他会去找index函数,这个函数我们写在user.views里,所以我们这里要先进行import导入。

user是我们创建app时写的app名字,后续也可以添加在djangoproject目录里的setting.py文件中:

 如果一开始在创建项目的时候写了app名,那么这里就不用写了,否则会报错。

在user这个app里我们创建一个templates文件夹用来储存html模版。

在views.py文件中我们写了视图函数index,并且在我们urls.py中import导入了这个函数库,于是我们会执行这个函数并在这里返回一个html文件。 

3.运行项目:

在pycharm中打开终端:在经过上述步骤之后,可以直接输入

python manage.py runserver

这会执行我们的整个项目并给予一个地址可以让我们观察项目返回内容。 

ctrl+c可以中断这个程序,否则他会一直运行。 

4.数据库迁移:

在models.py中写入数据库数据后,在终端中运行

python manage.py makemigrations

migrations文件夹会多出一个文件。

导入数据后再:

python manage.py migrate

迁移数据,这时 在data文件中就可以可视化查询数据库内容并修改。

我们可以在视图文件中导入models函数,models里面我们写的函数就可以拿出来用,这里用到Usermodel函数,加上后缀名objects.all可以返回数据库所有的内容。再利用render,命名一个users(左)来储存users(右)的所有数据并导入html中。

在html中我们就可以利用for循环遍历数据库所有的内容。 

html如下:

结果如下:

 

5.后台管理:

我们在admin.py中导入models的类,再在后台管理系统中运行。

 在终端中创建超级用户(管理员):

python manage.py createsuperuser

输入账号密码(密码不可视),就能创建成功。路由选择admin打开网址就能打开后台管理系统

里面存储的数据和数据表里的内容一致,可以实时修改。 

6.路由传参的页面跳转(反向解析):

首先在urls中的路由里写入传参的形式。 

<int:id>

这个的意思就是传入的数据是整数,跟在路由后面。比如传入为1,那么网址就是..../detail/1/

传入数据可以直接网址上面传入,也可以在函数中传入例如:

在视图函数中添加:

def detail(request,id):c=Usermodel.objects.get(pk=id)return render(request,'detail.html',{'users':c}

这里的c相当于在model中获取了数据,虽然model只写了数据库结构,但是model.objects可以直接导入数据库内容(别管怎么来的,这就是django),再用get方法只获取id的内容。这里获取哪一个呢?根据我们传入的id决定。

id由哪里来?我们写一个html交互数据库,利用循环展示每一个数据的内容。我们点击某一个超链接对应的数据库内容,那么就会获得这个超链接对应的数据库内容的id,把它反向解析到url中。detail是我们提前在urls.py里写好的url的名字。

 1.html(name=‘index’):

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<h1> Hello world  </h1>
<ul>{% for a in users %}<a href="{% url 'detail' a.id %}" >{{ a.name }},{{ a.age }}</a>{% endfor %}
</ul>
</body>
</html>

detail.html:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<h1>{{ users.id }}{{ users.sex }}</h1>
</body>
</html>

这样我们就可以根据id不同,在同一个页面显示不同的内容。

 result:

Rec 0001


再利用反向解析写个返回键:

为什么href不直接跳转到1.html反而要给一个name为index的url地址呢?

直接跳转到html没办法传入数据,但是跳转到路由会先执行视图函数,在视图函数中我们可以先获取数据再返回渲染的html,这样在第二次通过html获取数据的时候才不会报错。不然html不知道在哪里获取数据。

相关文章:

Django框架:python web开发

1.环境搭建&#xff1a; &#xff08;a&#xff09;开发环境&#xff1a;pycharm &#xff08;b&#xff09;虚拟环境&#xff08;可有可无&#xff0c;优点&#xff1a;使用虚拟环境可以把使用的包自动生成一个文件&#xff0c;其他人需要使用时可以直接选择导入包&#xff…...

MySQL、HBase、ES的特点和区别

MySQL&#xff1a;关系型数据库&#xff0c;主要面向OLTP&#xff0c;支持事务&#xff0c;支持二级索引&#xff0c;支持sql&#xff0c;支持主从、Group Replication架构模型&#xff08;本文全部以Innodb为例&#xff0c;不涉及别的存储引擎&#xff09;。 HBase&#xff1…...

联发科MTK6762/MT6762安卓核心板_4G智能模块应用

MT6762安卓核心板是一款工业级高性能、可运行 android9.0 操作系统的 4G智能模块。MT6762平台打造具备 AI 体验、先进双摄像头拍摄效果且具备丰富连接功能的智能手机主板。 MT6762安卓核心板 是一款髙性能低功耗的 4G 全网通安卓智能模块。此模块支持 2G/3G/4G 移动&#xff0c…...

Windows7系统下载安装Source Code Pro字库

Source Code Pro字库介绍 Source Code Pro是由Adobe推出的一款专为代码展示和编写设计的开源等宽字体‌。它不仅在编程社区中广受好评&#xff0c;还被广泛应用于各种编辑器环境中&#xff0c;以提升代码的可读性和编程体验‌。 Source Code Pro的设计充分考虑了编程符号的呈…...

Navicat 17 功能简介 | 商业智能 BI

Navicat 17 功能简介 | 商业智能BI 随着 17 版本的发布&#xff0c;Navicat 也带来了众多的新特性&#xff0c;包括兼容更多数据库、全新的模型设计、可视化智能 BI、智能数据分析、可视化查询解释、高质量数据字典、增强用户体验、扩展 MongoDB 功能、轻松固定查询结果、便捷U…...

C# winodw TableLayoutPanel 料盒生产状态UI自动生成

料盒生产状态UI自动生成&#xff0c;效果如下 以前公司项目的这些都是手动拖控件做的。每个设备的料盒数量不一样&#xff0c;层数不一样时都要发好几个小时去改相关细节和代码。上次改了一次。这个又来了。上次就有想法做成根据参数自动生成。但项目时间有限有没有去深入思路和…...

提示词的艺术----AI Prompt撰写指南(个人用)

提示词的艺术 写在前面 制定提示词就像是和朋友聊天一样&#xff0c;要求我们能够清楚地表达问题。通过这个过程&#xff0c;一方面要不断练习提高自己地表达能力&#xff0c;另一方面还要锻炼自己使用更准确精炼的语言提出问题的能力。 什么样的提示词有用&#xff1f; 有…...

哪些前端打印插件可以实现监听用户选择了打印还是取消

在前端实现监听用户是否选择了打印还是取消的功能&#xff0c;确实是一个挑战&#xff0c;因为浏览器的打印行为是通过原生对话框处理的&#xff0c;而这些对话框的行为无法直接被 JavaScript 控制或监听。不过&#xff0c;有一些插件和方法可以帮助你更接近这个目标&#xff1…...

【PyCharm】连接Jupyter Notebook

【PyCharm】相关链接 【PyCharm】连接 Git【PyCharm】连接Jupyter Notebook【PyCharm】快捷键使用【PyCharm】远程连接Linux服务器【PyCharm】设置为中文界面 【PyCharm】连接Jupyter Notebook PyCharm连接Jupyter Notebook的过程可以根据不同的需求分为 本地连接 和 远程连…...

【Linux系统编程】—— 深入理解Linux中的环境变量与程序地址空间

文章目录 环境变量常见的环境变量查看环境变量环境变量的修改与使用环境变量的组织⽅式环境变量的命令通过代码如何获取环境变量环境变量的继承 前言&#xff1a;在Linux系统中&#xff0c;环境变量和程序地址空间是系统管理和进程运行的重要组成部分。本文将详细探讨环境变量的…...

Spark常见面试题-部分待更新

1. 简述hadoop 和 spark 的不同点&#xff08;为什么spark更快&#xff09; Hadoop是一个分布式管理、存储、计算的生态系统&#xff0c;包括HDFS&#xff08;分布式文件系统&#xff09;、MapReduce&#xff08;计算引擎&#xff09;和YARN&#xff08;资源调度器&#xff09;…...

Android BitmapShader实现狙击瞄具十字交叉线准星,Kotlin

Android BitmapShader实现狙击瞄具十字交叉线准星&#xff0c;Kotlin <?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.…...

linux通过web向mac远程传输字符串,mac收到后在终端中直接打印。

要通过Web从Linux向Mac远程传输字符串&#xff0c;并在Mac的终端中直接打印&#xff0c;可以使用以下方法。这里假设Linux作为服务器&#xff0c;Mac作为客户端。 方法 1&#xff1a;使用Python的HTTP服务器 在Linux上启动一个简单的HTTP服务器&#xff0c;Mac通过curl获取字符…...

海云安开发者安全智能助手D10荣膺 “ AI标杆产品 ” 称号,首席科学家齐大伟博士入选2024年度 “ 十大杰出青年 ”

2024年12月27日&#xff0c;粤港澳大湾区AI领袖峰会在深圳成功举办&#xff0c;大会表彰了在人工智能技术创新、应用实践和产业发展等方面取得优异成绩的企业和个人&#xff0c;深圳海云安网络安全技术有限公司开发者安全智能助手D10荣膺“AI标杆产品”称号。同时&#xff0c;公…...

Spring Boot + Apache POI 实现 Excel 导出:BOM物料清单生成器(支持中文文件名、样式美化、数据合并)

目录 引言 Apache POI操作Excel的实用技巧 1.合并单元格操作 2.设置单元格样式 1. 创建样式对象 2. 设置边框 3. 设置底色 4. 设置对齐方式 5. 设置字体样式 6.设置自动换行 7. 应用样式到单元格 3. 定位和操作指定单元格 4.实现标签-值的形式 5.列宽设置 1. 设…...

ReactiveSwift 简单使用

记录 ReactiveSwift 简单使用 导入 ReactiveSwift 库创建 TestViewModel 文件 enum JKTypeType: Int {case cloudcase devicecase weater }// 通过监听属性变化 class TestViewModel: NSObject {lazy var recordType: Property<JKTypeType> {return Property(recordTy…...

CSS 的基础知识及应用

前言 CSS&#xff08;层叠样式表&#xff09;是网页设计和开发中不可或缺的一部分。它用于描述网页的视觉表现&#xff0c;使页面不仅实现功能&#xff0c;还能提供吸引人的用户体验。本文将介绍 CSS 的基本概念、语法、选择器及其在提升网页美观性方面的重要性。 什么是 CSS&…...

【Web】2025西湖论剑·中国杭州网络安全安全技能大赛题解(全)

目录 Rank-l Rank-U sqli or not Rank-l username存在报错回显&#xff0c;发现可以打SSTI 本地起一个服务&#xff0c;折半查找fuzz黑名单&#xff0c;不断扔给fenjing去迭代改payload from flask import Flask, request, render_template_stringapp Flask(__name__)app…...

能源物联网数据采集设备 串口服务器功能参数介绍

摘要 ​随着物联网技术的快速发展&#xff0c;各种传统设备的联网需求愈发迫切。串口服务器作为一种桥接传统串口设备与现代网络的关键设备&#xff0c;在工业控制、智能电网、交通运输等域发挥了重要作用。本文以APort100串口服务器为例&#xff0c;探讨串口服务器在现代物联…...

在线json格式化工具

在线json格式化工具,包括中文和英文版本,无需登录&#xff0c;无需费用&#xff0c;用完就走。 官网地址&#xff1a; https://json.openai2025.com 效果如下&#xff1a;...

Unity移动端开发:键盘高度动态适配与异形屏精准布局实战

1. 移动端键盘适配的核心痛点 在Unity移动端开发中&#xff0c;键盘弹出时的UI适配是个高频踩坑点。我做过上百个移动项目&#xff0c;发现90%的开发者都会遇到这两个典型问题&#xff1a;键盘弹出时输入框被遮挡&#xff0c;以及异形屏&#xff08;刘海屏、挖孔屏&#xff09;…...

别再死磕ADS8688了!用STM32F407+AD9833做电路特性测试仪,我踩过的坑都在这了

从ADS8688到AD9833&#xff1a;一个电路特性测试仪的重构实战 去年参加电子设计竞赛时&#xff0c;我选择了2019年国赛D题"简易电路特性测试仪"作为练手项目。原本以为是个简单的题目&#xff0c;没想到在实现过程中遇到了各种意想不到的坑。最让我头疼的就是ADC模块…...

Geo-SAM技术解析:基于QGIS的地理空间AI图像分割架构与实现

Geo-SAM技术解析&#xff1a;基于QGIS的地理空间AI图像分割架构与实现 【免费下载链接】Geo-SAM A QGIS plugin tool using Segment Anything Model (SAM) to accelerate segmenting or delineating landforms in geospatial raster images. 项目地址: https://gitcode.com/g…...

AlphaFold 3模型权重申请保姆级教程:从学术邮箱填写到条款避坑全流程

AlphaFold 3模型权重申请全流程精解&#xff1a;从学术身份验证到合规使用指南 当AlphaFold 3的论文在《Nature》封面上闪耀时&#xff0c;全球结构生物学家的目光都聚焦在这个能预测蛋白质、核酸与小分子复合体结构的革命性工具上。与开源代码不同&#xff0c;模型权重的获取需…...

大模型Agent真正可用的临界点到了吗?——2026奇点大会Function Calling落地成熟度评估矩阵(含6维度打分表)

第一章&#xff1a;大模型Agent真正可用的临界点到了吗&#xff1f;——2026奇点大会Function Calling落地成熟度评估矩阵&#xff08;含6维度打分表&#xff09; 2026奇点智能技术大会(https://ml-summit.org) Function Calling 已从实验性接口演进为生产级能力核心组件。20…...

瑜伽主题AI绘画落地案例:雯雯的后宫-Z-Image模型在健康类新媒体中的应用

瑜伽主题AI绘画落地案例&#xff1a;雯雯的后宫-Z-Image模型在健康类新媒体中的应用 1. 引言&#xff1a;当瑜伽内容创作遇上AI绘画 如果你是健康、瑜伽或女性生活方式类新媒体账号的运营者&#xff0c;相信你一定遇到过这样的困境&#xff1a;每天需要大量的高质量配图来吸引…...

Python爬虫如何选择HTTP代理?动态短效与隧道代理实战对比

1. HTTP代理在Python爬虫中的核心作用 做爬虫的朋友都知道&#xff0c;IP被封是家常便饭。我刚入行那会儿&#xff0c;经常遇到爬着爬着就被目标网站封IP的情况&#xff0c;一晚上功夫全白费。后来发现&#xff0c;用好HTTP代理简直是爬虫开发的救命稻草。 简单来说&#xff0c…...

如何突破Cursor AI限制:终极免费使用Pro功能的实战指南

如何突破Cursor AI限制&#xff1a;终极免费使用Pro功能的实战指南 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your tr…...

LAMP环境搭建:从PHP安装到Apache与MySQL协同配置全指南

1. LAMP环境搭建基础准备 在开始搭建LAMP环境之前&#xff0c;我们需要先了解几个关键概念。LAMP是Linux、Apache、MySQL和PHP的首字母缩写&#xff0c;这四个组件共同构成了一个完整的动态网站运行环境。就像盖房子需要打地基一样&#xff0c;搭建LAMP环境也需要先做好准备工作…...

深度解析JPEGsnoop:专业级JPEG图像解码与元数据分析工具实战指南

深度解析JPEGsnoop&#xff1a;专业级JPEG图像解码与元数据分析工具实战指南 【免费下载链接】JPEGsnoop JPEGsnoop: JPEG decoder and detailed analysis 项目地址: https://gitcode.com/gh_mirrors/jp/JPEGsnoop JPEGsnoop是一款专业的JPEG图像解码与分析工具&#xf…...