【银角大王——Django课程Day1】

news2025/1/16 16:15:37

Django框架第一课

    • 安装Django框架
    • 方式一(命令行的形式创建Django项目)
    • 方式二(适合企业版的pycharm)
    • 默认文件介绍
    • app文件介绍
    • 快速上手
    • 我的导包一直爆红是因为我没使用解释器,没导入包,去设置里面导入包即可——点击应用
    • templates模板
    • 静态文件
    • 静态文件中引入css,js框架
    • 引入bootstrap和jQuery到项目中
    • Django模板语法——实现数据与视图分离
      • 还有其他的语法可以查看菜鸟教程进行学习链接: [菜鸟教程](https://www.runoob.com/django/django-template.html)
      • 可以看出HTML页面中拿到的是已经被渲染完成的字符串,而不是拿到数据本身
    • 请求和响应

安装Django框架

python
________python.exe
________Scripts
________________pip.exe
________________django-admin.exe【工具,创建Django项目】
________Lib
________________内置模块
________________site-packages
________________________openpyxl
________________________python-docx
________________________flask
________________________django【框架的源码】

方式一(命令行的形式创建Django项目)

(1)打开终端
(2)进入想要项目存放位置的目录——这是我的位置

F:\python_djangolocal

(3)进入存放目录后,执行命令创建项目——这是我的python存放位置

//python安装的路径下的Scripts下的django工具  startproject  项目名称
"F:\python学习\python3.7.2024\Scripts\django-admin.exe" startproject djangoproject_1

在这里插入图片描述

方式二(适合企业版的pycharm)

默认文件介绍

请添加图片描述

app文件介绍

在这里插入图片描述

快速上手

(1)注册app

项目里面的settings中注册app
在INSTALLED_APPS数组里编写app01(创建的app的文件名字).apps.App01Config(apps里面的类)

在这里插入图片描述在这里插入图片描述
(2)编写URL和视图函数的关系

  • 访问网址(admin/) 就会去执行函数并执行函数,函数在views中
    在这里插入图片描述
  • 编写url.py——记得导入view
    在这里插入图片描述
  • 编写视图函数view.py——定义函数

在这里插入图片描述
(3)启动Django项目

方式一:(使用命令)

在pycharm终端执行

python manage.py runserver

在这里插入图片描述

方式二:点击按钮

我的导包一直爆红是因为我没使用解释器,没导入包,去设置里面导入包即可——点击应用

在这里插入图片描述
运行图:
在这里插入图片描述
————总结url创建关系,view里面去写页面——右击文件分屏
在这里插入图片描述

templates模板

返回一个HTML——编写函数views.py中使用render
在这里插入图片描述
编写urls.py建立关系
在这里插入图片描述

简单编写一下HTML
在这里插入图片描述
运行图:
在这里插入图片描述
注:使用render返回一个html,app注册顺序中的一个个去找templates,直到找到相应的templates目录中的HTML。

静态文件

创建静态文件目录——在app目录下
在这里插入图片描述

静态文件中引入css,js框架

将bootstrap和jQuery框架拷贝到相应位置
在这里插入图片描述

引入bootstrap和jQuery到项目中

我是用老师的方法还是引用不了,只能在前面加俩点

 <link rel="stylesheet" type="text/css" href="../static/plugins/bootstrap-3.4.1-dist/css/bootstrap.css">

在这里插入图片描述

Django模板语法——实现数据与视图分离

在HTML中写一些占位符,由数据对这些占位符进行填充

(1)变量模板

view:{"HTML变量名" : "views变量名"}
HTML:{{变量名}}

在这里插入图片描述
在这里插入图片描述
(2)list模板
在这里插入图片描述
在这里插入图片描述
(3)for模板语法和if/else/endif模板语法

注:不得不说这个if语句真的很坑——给我搞无语了,整了半天
条件判断的格式有问题,变量num、判断符、条件这三者之间一定要用空格隔开,num>=90,要写成num >= 90。这样才是正确的格式。有时候一个人自学挺无助的,想报警。
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a53cf42f52504e3782a3098833b618f1.png

效果图:
在这里插入图片描述

还有其他的语法可以查看菜鸟教程进行学习链接: 菜鸟教程

可以看出HTML页面中拿到的是已经被渲染完成的字符串,而不是拿到数据本身

在这里插入图片描述
这就实现了数据与视图分离

请求和响应

post请求案例:

在login.html中编写

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>


<h2>用户登录</h2>

<form method="post" action="/login/">
<!--防伪请求,在post请求中一定要编写-->

    {% csrf_token %}

  <input type="text" name="user" placeholder="用户名">
  <input type="password" name="pwd" placeholder="密码">
  <input type="submit" value="提交"/>

</form>

</body>
</html>

在url.py中编写:

from django.urls import path

from app01 import views
urlpatterns = [

    # 访问网址admin/ 就会去执行函数并执行函数,函数在views中

    # path('admin/', admin.site.urls),
        path('index/', views.index),
        path('users_list/', views.users_list),
        #用户登录请求与响应案例
        path('login/', views.login),

]

在views.py中编写


def login(request):


    #request对象,封装了用户请求的数据
    #通过HttpResponse返回内容
    # return HttpResponse('欢迎使用')

    #请求与响应案例
    if request.method == "GET":

     return render(request,"login.html")

    else:
        return HttpResponse("提交成功")

效果图如下:
请添加图片描述

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

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

相关文章

C# 动态加载dll

方式1 using System; using System.Reflection;class Program {static void Main(){string dllPath "path/to/your/library.dll"; // 替换为你的DLL文件路径Assembly myAssembly Assembly.LoadFile(dllPath);Type myType myAssembly.GetType("YourNamespace…

JavaSE高阶篇-反射

第一部分、Junit单元测试 1&#xff09;介绍 1.概述:Junit是一个单元测试框架,在一定程度上可以代替main方法,可以单独去执行一个方法,测试该方法是否能跑通,但是Junit是第三方工具,所以使用之前需要导入jar包 2&#xff09;Junit的基本使用&#xff08;重点啊&#xff09; 1.…

Nuclei 减少漏报的使用小技巧

在最近工作的渗透测试项目中发现Nuclei存在一个问题&#xff0c;就是相同的网站连续扫描多次会出现漏报的情况&#xff0c;此前没有注意过这个情况&#xff0c;所以写篇文章记录一下。 在此之前我的常用命令都是一把梭&#xff0c;有就有没有就继续其他测试 $ nuclei -u htt…

视觉位置识别与多模态导航规划

前言 机器人感知决策是机器人移动的前提&#xff0c;机器人需要对周围环境实现理解&#xff0c;而周围环境通常由静态环境与动态环境构成。机器人在初始状态或者重启时需要确定当前所处的位置&#xff0c;然后根据用户的指令或意图&#xff0c;开展相应移动或抓取操作。通过视觉…

OpenHarmony开发——Makefile方式组织编译的库移植

以yxml库为例&#xff0c;其移植过程如下文所示。 源码获取 从仓库获取yxml源码&#xff0c;其目录结构如下表&#xff1a; 表1 源码目录结构 名称描述yxml/bench/benchmark相关代码yxml/test/测试输入输出文件&#xff0c;及测试脚本yxml/Makefile编译组织文件yxml/.gitat…

IOC

获取资源的传统方式&#xff1a; 在应用程序中的组件需要获取资源时&#xff0c;传统的方式是组件主动的从容器中获取所需要的资源&#xff0c;在这样的模式下开发人员往往需要知道在具体容器中特定资源的获取方式&#xff0c;增加了学习成本&#xff0c;同时降低了开发效率。…

【系统分析师】项目管理

文章目录 1、范围管理2、时间(进度)管理【重点】2.0 活动资源估算2.1 进度控制2.2 关键路径法2.2.1 单代号网络图2.2.2 双代号网络图2.2.3 自由时差2.2.4 甘特图 3、配置管理3.1 配置项/配置库3.2 变更控制3.3 版本管理 4、质量管理5、成本管理5.1 成本管理的概念5.2 挣值管理 …

算法部署 | 使用TensorRT在Jetson-Xavier-AGX上部署YOLOv4目标检测算法

项目应用场景 面向 NVIDIA Jetson Xavier AGX 平台部署 YOLOv4 目标检测算法场景&#xff0c;项目采用 TensorRT 进行 GPU 算法加速推理。 项目效果 项目细节 > 具体参见项目 README.md (1) 安装依赖 Install pycuda (takes awhile) $ cd ${HOME}/catkin_ws/src/yolov4_tr…

记录汇川:五个ST案例

起保停&#xff1a; 简单数学教学&#xff1a; 数据查找&#xff1a; 按钮检测&#xff1a; 数据堆栈&#xff1a;

16.C++常用的算法_算数生成算法

文章目录 遍历算法1. accumulate()代码工程运行结果 2. fill()代码工程运行结果 遍历算法 1. accumulate() 代码工程 第三个参数为累加的起始值&#xff0c;如果没有特殊需求写0即可; 需要注意包含头文件#include<numeric>#define _CRT_SECURE_NO_WARNINGS #include&l…

中颖51芯片学习7. ADC模数转换

中颖51芯片学习7. ADC模数转换 一、ADC工作原理简介1. 概念2. ADC实现方式3. 基准电压 二、中颖芯片ADC功能介绍1. 中颖芯片ADC特性2. ADC触发源&#xff08;1&#xff09;**软件触发**&#xff08;2&#xff09;**TIMER4定时器触发**&#xff08;3&#xff09;**外部中断2触发…

性能优化工具

CPU 优化的各类工具 network netperf 服务端&#xff1a; $ netserver Starting netserver with host IN(6)ADDR_ANY port 12865 and family AF_UNSPEC$ cat netperf.sh #!/bin/bash count$1 for ((i1;i<count;i)) doecho "Instance:$i-------"# 下方命令可以…

Java项目引入log4j2

log4j2 单独使用 引入依赖 <dependencies><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>2.14.0</version></dependency><dependency><groupId>o…

逆滤波器的推导与实现

设滤波器为&#xff0c;逆滤波器为 根据滤波器和逆滤波器的定义 对上式做傅里叶变换 对上式做逆傅里叶变换可得&#xff0c; 好了&#xff0c;逆滤波器的公式推导完了&#xff0c;但是实际计算时大多数时候这样是算不出来的&#xff0c;除非像扫频或粉噪这样的全频带信号才行&…

交流电转直流电5V500mA恒压芯片WT5104

交流电转直流电5V500mA恒压芯片WT5104 WT5104恒压芯片&#xff0c;是一种将交流电转换为直流电的设备。它的工作原理是通过内部的电路设计&#xff0c;将输入的交流电进行整流、滤波后&#xff0c;输出稳定的直流电。这款芯片最大的特点就是能够提供恒定的电压和电流&#xff…

鸿蒙 UI预览报错

SyntaxError: Unexpected end of JSON input 删除entry下的.preview文件 重新刷新预览

Ubuntu上阅读Android源码工具

由于Android源码过于庞杂&#xff0c;里面有多种语言源文件&#xff0c;想只用一IDE统一索引是不现实的。我个人便使用AS阅读JAVA代码&#xff0c;VS看C/C代码&#xff0c;在Ubuntu上不能使用SI&#xff0c;所以直接放弃。在framework开发这个层面上来讲&#xff0c;因为大部分…

C++:Hash应用【位图与布隆过滤器】

什么是位图&#xff1f; 我们先来看一个问题&#xff1a; 给40亿个不重复的无符号整数&#xff0c;没排过序。给一个无符号整数&#xff0c;如何快速判断一个数是否在 这40亿个数中。【腾讯】 如果我们使用unordered_set容器来解决&#xff0c;40亿个数据&#xff0c;每个数据…

CorelDRAW2024平面设计软件主要功能讲解

CorelDRAW是加拿大Corel公司出品的平面设计软件&#xff0c;也是一款功能强大的矢量图形制作和排版软件&#xff0c;主要面向绘图设计师和印刷输出人员。该软件提供了矢量动画、页面设计、网站制作、位图编辑和网页动画等多种功能。 CorelDRAW软件的主要用途是创建和编辑矢量图…

【Linux学习笔记】安卓设置内核信息的打印级别

开发环境 开发板&#xff1a;正点原子RK3568开发板安卓版本&#xff1a;11 问题描述 在串口调试过程中经常打印出这样的一些信息 极影响调试&#xff0c;暂时又没什么用&#xff0c;有些时候还不能给它直接关了。尤其是这个信息 healthd: battery l50 v3 t2.6 h2 st3 fc10…