DJANGO_PART 1

DJANGO_PART 1

文章目录

  • DJANGO_PART 1
    • 1. 安装DJANGO
    • 2. 创建项目
    • 3. APP概念
    • 4. 快速上手
    • 5. templates
    • 6. 引入其它静态文件
    • 7. 模板语法
    • 8. 请求与响应

1. 安装DJANGO

安装语句:pip install django

2. 创建项目

django中项目会有一些默认的文件和默认的文件夹

  • 终端创建

    • 打开终端,进入某个目录(项目的地址)
    • 执行命令创建项目:startproject ProjectName(如果已加入环境系统环境变量:django-admin startproject ProjectName)
  • PyCharm创建

    • 注意:

    • 选择项目目录(项目存放的地址,不是python安装的地址)

    • 命令行创建的项目是标准的;pycharm在标准的基础上默认添加了:

      • templates目录(暂时不需要,可删除)

      • settings.py添加了一句(暂时不需要,可删除):

        image-20240508104305110

  • 默认项目的文件介绍

    image-20240508104648090

    • manage.py(项目的管理,启动项目、创建app、数据管理,一般不用动)
    • djangoLearning(与项目文件同名的文件夹)
      • __ init __.py
      • settings.py(项目配置)
      • urls.py(url和函数的对应关系)
      • asgi.py(默认,接收网络请求,一般不用动)
      • wsgi.py(默认,接收网络请求,一般不用动)

3. APP概念

举例:

  • 项目
    • app,用户管理
    • app,订单管理
    • app,后台管理

一个项目往往有多个app,也可只有一个app

  • APP的创建:python manage.py startapp AppName

  • APP默认文件结构

    image-20240508110125402

    • migrations(固定,一般不用动)(数据库变更记录)
      • __ init __.py(固定,一般不用动)
    • __ init __.py
    • admin.py(固定,一般不用动)(django默认提供了admin后台管理)
    • apps.py(固定,一般不用动)(app启动类)
    • models.py(对数据库进行操作)
    • tests.py(固定,一般不用动)(单元测试)
    • views.py(一般在这里调用函数)

4. 快速上手

  • 确保app已注册

    image-20240508111259496

  • 编写url和视图函数对应关系

    image-20240508111907590

  • 编写视图函数

    image-20240508112133884

  • 启动项目

    • 命令行启动:python manage.py runserver

    • pycharm启动:

      image-20240508112741050

      image-20240508112659068

    • 打开链接:

      image-20240508112922941

    • 再写一个页面:

      image-20240508160654399

      image-20240508160728278

      image-20240508162335685

5. templates

  • 引入静态html页面

    image-20240508161839549

    image-20240508161912108

    image-20240508162829676

  • 注意

    • 优先去项目根目录的templates中寻找html文件(必须要提前先配置,不配置没有用)
    • 根据app的注册顺序,在每个app下的templates目录中寻找

6. 引入其它静态文件

在开发过程中一般将图片、css、js、都当作静态文件处理

  • static目录:在app目录下创建static文件夹

    image-20240508164417351

  • 引用静态文件

    image-20240508164703189

    image-20240508165219093

7. 模板语法

本质上就是:在HTML中写一些占位符,由数据对这些占位符进行替换和处理

  • 字符串

    image-20240508170548782

    image-20240508170643937

  • 列表

    • 显示列表的单个元素:

      <div>
          {{ list.1 }}
      </div>
      
    • 遍历列表:

      <div>
          {% for item in list %}
              <span>{{ item }}</span>
          {% endfor %}
      </div>
      

    image-20240508171202947

    image-20240508171219737

  • 字典

    • 显示整个字典:

      <div>
          {{ dict }}
      </div>
      
    • 显示字典的某个元素:

      <div>
          <span>{{ dict.name }}</span>
          <span>{{ dict.age }}</span>
          <span>{{ dict.job }}</span>
      </div>
      
    • 遍历字典:

      <div>
          {% for k, v in dict.items %}
              <span>{{ k }} : {{ v }}</span>
          {% endfor %}
      </div>
      

    image-20240508172323115

    image-20240508172344576

  • 模板语法也支持if语法

    {% if dict.age == 18 %}
        <div>年龄为18岁</div>
    {% else %}
        <div>年龄不为18岁</div>
    {% endif %}
    

    image-20240508182950797

    image-20240508183010039

8. 请求与响应

  • 请求

    # request是一个对象,封装了用户发送过来的所有请求相关的数据
    
    # 获取请求方式:GET/POST
    print(request.method)
    
    # 在url上传递值:http://localhost:8000/reqTest/?name=ausgelebt&age=18
    print(request.GET)
    
    # 在请求体中传递数据
    print(request.POST)
    
  • 响应

    # (响应)HttpResponse("word"),字符串内容返回给请求者
    # return HttpResponse("返回内容")
    
    # (响应)读取html的内容,并渲染/替换
    # return render(request, 'index.html')
    
    # (响应)让浏览器重定向到其它的页面
    return redirect('https://www.baidu.com')
    

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

渗透之sql注入实战2(二次注入)

目录 平台地址&#xff1a; 开始&#xff1a; 方法1&#xff1a; 方法二 找提示 这里存在一个文件包含&#xff08;file&#xff09;。 爆源码 index.php源码 confirm.php源码&#xff1a; search.php源码&#xff1a; change.php源码&#xff1a; delete.php源码&…

Linux---HTTP协议

HTTP HTTP协议&#xff08;Hypertext Transfer Protocol&#xff0c;超文本传输协议&#xff09;是一种应用层协议&#xff0c;主要用于在Web浏览器和Web服务器之间传输数据。 一、认识URL 平时我们俗称的 " 网址 " 其实就是说的 URL http请求样例 看起来是一行一…

英语学习笔记7——Are you a teacher?

Are you a teacher? 你是教师吗&#xff1f; 词汇 Vocabulary name /neɪm/ n. 名字&#xff0c;名声 英文名字构成&#xff1a; 名 字 姓      given name family name  也叫做&#xff1a;first name last name      例&#xff1a;Yanyan Gao 例句&#xff1…

Baidu Comate智能编码助手-程序员的神助攻

&#x1f389;Baidu Comate:程序员编程最牛的辅助利器&#xff0c;没有之一 &#x1f388;AI编程助力开发者提质增效 智能代码补全&#xff1a;AI编程助手可以根据上下文和用户的编码习惯&#xff0c;智能地提供代码补全和建议&#xff0c;帮助程序员更快速地编写代码&#xf…

Service 和 Ingress

文章目录 Service 和 IngressServiceEndpointservice 的定义代理集群外部服务反向代理外部域名Service 常用类型 IngressIngress-nginx安装使用 Service 和 Ingress service 和 ingress 是kubernetes 中用来转发网络请求的两个服务&#xff0c;两个服务用处不同&#xff0c;se…

OpenGL 入门(四)—— 贴纸与美颜滤镜

本篇我们来介绍贴纸效果与美颜滤镜的实现。 1、贴纸效果 贴纸实际上是一个图片&#xff0c;用 Bitmap 加载图片后用 OpenGL 渲染到指定的位置上。我们举例添加一个耳朵贴纸&#xff1a; 1.1 获取人脸位置 上一篇我们在讲大眼滤镜时&#xff0c;在 Native 层除了获取到人脸 5…

JAVA学习笔记(第三周)

文章目录 继承概述使用场景继承的特点子类继承的内容成员变量访问特点成员方法访问特点方法的重写构造方法this super 多态多态的表现形式多态的前提成员变量和方法调用instanceof优势弊端 包包名的规则全类名final常量 权限修饰符代码块 继承 概述 继承就是子类继承父类的特征…

PHP ASCII码的字符串用mb_convert_encoding 转utf-8之后不生效

检测数据类型是ascii,转码之后再检测还是utf-8没生效 private function toUTF8($str){$encode mb_detect_encoding($str, array("ASCII",UTF-8,"GB2312","GBK",BIG5,LATIN1));if ($encode ! UTF-8) {$str1 mb_convert_encoding($str, UTF-8, …

(2024,LSTM,Transformer,指数门控,归一化器状态,多头内存混合)xLSTM:扩展的 LSTM

xLSTM: Extended Long Short-Term Memory 公和众和号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 1. 简介 2. 扩展的 LSTM 2.1 LSTM 回顾 2.2 sLSTM 2.3 mLSTM 2.4 xLSTM 架构 2…

python:画饼图

我现在因工作需要在写一篇中文文章&#xff0c;领导要我用python处理数据和画图&#xff0c;那我也刚好学习一下python画图。 import matplotlib.pyplot as plt # 饼图数据 labels [A, B, C, D] sizes [15, 30, 45, 10] # 每个部分的大小 # 绘制饼图 plt.figure(figsize(6,…

读书笔记——《高质量C++/C编程指南》(2)

目录 前言 命名规则 共性规则 简单的Windows应用程序命名规则 表达式和基本语句 运算符优先级 复合表达式 if语句 布尔变量与零值比较 整型变量与零值比较 浮点变量与零值比较 指针变量与零值比较 对if 语句的补充说明 循环语句的效率 for 语句的循环控制变量 s…

数据库大作业——基于qt开发的图书管理系统(四)项目目录的整理与绘制登录页面

项目目录的管理 前言 在上几篇的文章里面我们完成了基本环境的搭建,整理了项目数据库表结构并且成功的手动的加载了Qt的mysql数据库驱动&#xff0c;现在就要开始完成项目准备工作的最后一步:构建项目目录,一个好的项目离不开一个好的代码组织结构,所以在开始动手写我们这个项…

Java | Leetcode Java题解之第70题爬楼梯

题目&#xff1a; 题解&#xff1a; public class Solution {public int climbStairs(int n) {double sqrt5 Math.sqrt(5);double fibn Math.pow((1 sqrt5) / 2, n 1) - Math.pow((1 - sqrt5) / 2, n 1);return (int) Math.round(fibn / sqrt5);} }

无人机+通信中继:短波电台技术详解

随着无线通信技术的不断发展&#xff0c;无人机作为一种新型的信息传输平台&#xff0c;已经在多个领域得到了广泛应用。其中&#xff0c;无人机与短波电台的结合&#xff0c;为通信中继领域带来了全新的可能性。本文将详细解析无人机在通信中继中的应用&#xff0c;以及短波电…

产品专访|“产品”远程运维系统与“设备”远程运维系统的区别?

在日益复杂的工业制造环境下&#xff0c;远程运维已经成为生产制造企业不可或缺的一部分。在这个大背景下&#xff0c;产品远程运维系统和设备远程运维系统的需求越来越多&#xff0c;各自发挥着独特的作用。然而&#xff0c;尽管它们都涉及到远程运维的概念&#xff0c;但在实…

Nest.js中使用任务调度

java中的xxl在nestJs中是有内置的任务调度nestjs/schedule npm install --save nestjs/schedule 在model中引入使用 在service中直接使用就行 具体间隔多久看官方配置 Task Scheduling | NestJS 中文文档 | NestJS 中文网

STM32F1#1(入门了解)

一、STM32开发平台和工具 1.1 STM32芯片介绍 典型微控制器由CPU&#xff08;运算器、控制器&#xff09;、RAM、ROM和输入输出组成。 1.2 STM32核心板 STM32核心板配件&#xff1a; ①JTAG/SWD仿真-下载器 ②通信-下载模块 ③OLED显示屏 1&#xff09; 通信-下载模…

智慧工厂管理系统

随着科技的飞速发展&#xff0c;传统工厂正经历着一场前所未有的变革。在这个以智能化、信息化为主导的新时代&#xff0c;HiWoo Cloud平台以其卓越的智慧工厂管理系统&#xff0c;成为了众多企业转型升级的首选工具。今天&#xff0c;就让我们一起走进HiWoo Cloud的世界&#…

FTTR(光猫)ITMS注册NCE纳管

ITMS注册 TR069交互过程&#xff1a; 1.1. TR069交互—主动连接机制 主动连接机制是指CPE主动发出请求连接事件(事件可以为&#xff1a; 0 BOOTSTRAP&#xff1b; 1 BOOT; PERIODIC等等)给ACS。在连接建立之后才能进行业务处理(通过调用RPC方法实现)。 备注&#xff1a;政企…

【2024最新华为OD-C卷试题汇总】字符串分割(100分) - 三语言AC题解(Python/Java/Cpp)

&#x1f36d; 大家好这里是清隆学长 &#xff0c;一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C卷的三语言AC题解 &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f497; 文章目录 前…