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')
    

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在ubuntu虚拟机中手动安装VMware Tools(VMware Workstation 17 player)

可参考官方文档&#xff1a;在 Linux 虚拟机中手动安装 VMware Tools 以下列出我在安装过程中遇见的问题&#xff1a; 1、“安装VMware Tools”选项为灰&#xff0c;无法选中 原因是VMware Tools的安装包镜像在Player的安装目录下&#xff0c;需要在虚拟机启动的时候加载这个…

【Linux】常用基本指令

目录 食用说明 用户管理 whoami/who clear tree 目录结构和路径 pwd ls 文件 隐藏文件 常用选项 cd 家目录、根目录、绝对路径和相对路径 touch 常用选项 mkdir rmdir/rm man cp mv cat nano echo 输出重定向 > 输入重定向 < more/less head/…

国科大深度学习期末历年试卷

本文借鉴 国科大深度学习复习 深度学习期末 深度学习2020 一&#xff0e;名词解释&#xff08;每个2分&#xff0c;共10分&#xff09; 深度学习&#xff0c;稀疏自编码器&#xff0c;正则化&#xff0c;集成学习&#xff0c;Dropout 二&#xff0e;简答题&#xff08;每题…

第18讲:Ceph集群CrushMap的核心概念、默认规则与完整定义

文章目录 1.CrushMap核心概念2.集群默认的CrushMap规则剖析2.1.CrushMap列表显示内容剖析2.2.对默认的CrushMap规则进行深度的剖析2.3.完整的CrushMap定义信息 1.CrushMap核心概念 CrushMap官方文档&#xff1a;https://docs.ceph.com/en/pacific/rados/operations/crush-map/…

nlp课设 - 基于BERT 的情感分类

基于BERT 的情感分类 主要论文&#xff1a; BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding&#xff08;双向Transformer 的预训练&#xff09; 核心技术&#xff1a; Embedding 、Attention --> Transformer 任务简介、拟解决问题…

led显示屏用什么胶水封装比较好?

led显示屏用什么胶水封装比较好&#xff1f; LED显示屏通常使用特定的胶水进行封装&#xff0c;以确保其稳定性和耐用性。常见的用于LED显示屏封装的胶水类型包括有机硅灌封胶、环氧树脂灌封胶等。 有机硅灌封胶具有优异的耐高温、防水、绝缘和密封性能&#xff0c;非常适合用…

vue3+vite+js 安装

首先需要node版本高于V16.14.1&#xff0c;我用的node版本 V20.12.0 目前使用的是vue3vitejs&#xff0c;没有使用ts 安装 执行 npm create vitelatest 具体选择按照自己实际需要的来 Project name:项目名称 Select a framework:选择用哪种框架 &#xff08;我选择vue&#…

俄罗斯国际消费类电子电器展ICEE:人潮如织,盛况空前

近日&#xff0c;备受全球瞩目的俄罗斯国际消费类电子电器展ICEE在莫斯科盛大落幕。本次展会为期四天&#xff0c;真的攒足了眼球&#xff0c;不仅俄罗斯这边的很多媒体和自媒体有报道&#xff0c;展会第一天&#xff0c;很多参展商通过短视频平台将展会的盛况传到了国内&#…

JavaScript快速入门系列-1(JavaScript简介)

第一章:JavaScript简介 1. JavaScript简介1.1 什么是JavaScript1.2 JavaScript的历史与应用1.3 环境搭建:浏览器与Node.js2. JavaScript语言基础2.1 变量声明:let, const, var2.2 数据类型:字符串、数字、布尔值、对象、数组、null与undefined2.3 运算符:算术、比较、逻辑…

JS-拖拽元素放大缩小

效果左右布局&#xff0c;拖拽后&#xff0c;宽度放大缩小 其实自己写也可以&#xff0c;不过还是发现了两个好用的js库&#xff0c;既然不需要自己写&#xff0c;当然是能偷懒就偷懒 1、resizerjs 官网地址&#xff1a;https://github.com/eknowles/resizerjs <!doctype …

难定取舍,静观其变

今&#xff08;2024年5月8日&#xff09;天&#xff0c;本“人民体验官”在推广人民日报官方微博文化产品《带着笑意的眼睛&#xff0c;能看见最美的风景》的同时&#xff0c;还要联系4月初至今期间&#xff0c;与隐藏在《麻辣论坛》幕后的那位昵称“800727”者所爆发的一连串&…

Flutter笔记:手动配置VSCode中Dart代码自动格式化

Flutter笔记 手动配置VSCode中Dart代码自动格式化 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csd…