【Django学习笔记(十)】Django的创建与运行

Django的创建与运行

  • 前言
  • 正文
    • 1、安装Django
    • 2、创建项目
      • 2.1 基于终端创建项目
      • 2.2 基于Pycharm创建项目
      • 2.3 两种方式对比
    • 3、默认项目文件介绍
    • 4、APP
    • 5、启动运行Django
      • 5.1 激活App
      • 5.2 编写URL和视图函数对应关系
      • 5.3 启动Django项目
        • 5.3.1 命令行启动
        • 5.3.2 Pycharm启动
        • 5.3.3 views.py
        • 5.3.4 urls.py
      • 5.4 templates模板
        • 5.4.1 在 views.py 中使用 render()
        • 5.4.2 在 app01 目录下创建 templates 目录
        • 5.4.3 在 templates 目录下创建 html 文件
        • 5.4.4 注意事项
      • 5. 5 静态文件
        • 5.5.1 在 app01 目录下创建 static 目录
        • 5.5.2 html 中引入图片
        • 5.5.3 创建静态文件的步骤
          • 5.5.3.1 ststic目录
          • 5.5.3.2 引用静态文件

前言

Django,作为一款高级 Python Web 框架,以其优雅的设计、清晰的架构和丰富的功能,赢得了广大开发者的青睐。本文旨在提供一个系统而深入的 Django 运行学习指南,从创建到运行,全面解析 Django 的核心概念和关键技术。

正文

1、安装Django

pip install django

在 Python 的安装目录下:

python38

  • python.exe

  • Scripts

      - pip.exe  - django-admin.exe 【工具,创建Django项目中的文件和文件夹】
    
  • Lib

     - 内置模块- site-packages:- openpyxl- python-docx- flask- django 【框架的源码】
    

在这里插入图片描述
在这里插入图片描述

2、创建项目

2.1 基于终端创建项目

  • 打开终端

  • 进入某个目录(项目放在哪里)

  • 执行命令创建项目

    E:\Python38\Scripts\django-admin.exe startproject 项目名称
    如果 E:\Python38\Scripts\django-admin.exe 已经加入环境变量
    django-admin.exe startproject 项目名称
    在这里插入图片描述
    在这里插入图片描述

2.2 基于Pycharm创建项目

注意:不能是社区版pycharm
因为电脑上没有专业版的Pycharm,不做展示

2.3 两种方式对比

  • 命令行,创建的项目是标准的
  • Pycharm,在标准的基础是默认增加了点东西
    • 创建的了一个 templates 的目录(删除)
    • settings.py 中增加了一行 os.path.join(BASE_DIR,'templates') (删除)

3、默认项目文件介绍

mysite

  • manage.py 【项目的管理:启动项目、创建app、数据管理】【不要动】
  • mysite
    • init.py
    • asgi.py【接收网络请求】【不要动】
    • settings.py 【项目配置文件:数据库的账号密码等】【重要
    • urls.py 【url 和函数的对应关系】【重要
    • wsgi.py【接收网络请求】【不要动】

4、APP

项目的一般结构:

  • app,用户管理
  • app,订单管理
  • app,后台管理
  • app,网站
  • app,API

  • 如果开发的项目比较简洁,用不到多 app,项目下创建一个 app 即可

mysite

  • manage.py 【项目的管理:启动项目、创建app、数据管理】【不要动】
  • mysite
    • init.py
    • asgi.py【接收网络请求】【不要动】
    • settings.py 【项目配置文件:数据库的账号密码等】【重要
    • urls.py 【url 和 函数的对应关系】【重要
    • wsgi.py【接收网络请求】【不要动】
  • app01
    • init.py
    • admin.py【Django默认提供了admin后台管理的功能】【固定,不要动】
    • apps.py【app启动类】【固定,不要动】
    • models.py【对数据库操作】【重要
    • tests.py【单元测试】【固定,不要动】
    • views.py【函数】【重要
    • migrations【数据库字段变更记录】【固定,不要动】
      • init.py

5、启动运行Django

5.1 激活App

  1. 在 Django 的项目文件夹中,打开 setting.py 文件:
    在这里插入图片描述

  2. 在 App01 文件夹中,打开 apps.py 文件,找到 Class 的名称
    在这里插入图片描述

  3. 在列表最后加上app01.apps.App01Config
    在这里插入图片描述

5.2 编写URL和视图函数对应关系

  1. 在项目文件 urls.py 中编写对应关系
    在这里插入图片描述

  2. 在 urls.py 中 导入 from tDjangoDemo.mysite.app01 import views

  3. 对应 url 和函数 :path('index/', views.index),
    在这里插入图片描述

  4. 在 views.py 中编写视图函数
    在这里插入图片描述

5.3 启动Django项目

5.3.1 命令行启动
python manage.py runserver
5.3.2 Pycharm启动

点击程序的运行按钮

在这里插入图片描述
在网址后面加 /index/:
在这里插入图片描述

5.3.3 views.py
from django.shortcuts import render, HttpResponse# Create your views here.
# 需要有默认参数request
def index(request):return HttpResponse("欢迎使用")def user_list(request):return HttpResponse("用户列表")def uesr_add(request):return HttpResponse("添加用户")
5.3.4 urls.py
from django.contrib import admin
from django.urls import pathfrom app01 import viewsurlpatterns = [# path('admin/', admin.site.urls),# www.xxx.com/index/  ->  函数path("index/", views.index),path("userlist/", views.user_list),path("useradd/", views.uesr_add),
]

在这里插入图片描述
在这里插入图片描述

5.4 templates模板

5.4.1 在 views.py 中使用 render()
def user_list(request):return render(request, "user_list.html")
5.4.2 在 app01 目录下创建 templates 目录
5.4.3 在 templates 目录下创建 html 文件
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><h1>用户列表</h1>
</body>
</html>

在这里插入图片描述

5.4.4 注意事项
def user_list(request):# 1、如果在 settings.py 中添加 os.path.join(BASE_DIR,'templates') 优先去项目根目录的 templates 中寻找# 2、去 app 目录下的 templates 目录寻找 user_list.html(根据app的注册顺序,逐一去 templates 目录下寻找)return render(request, "user_list.html")
  1. 如果在 settings.py 中添加 os.path.join(BASE_DIR,'templates') 优先去项目根目录的 templates 中寻找
  2. 去 app 目录下的 templates 目录寻找 user_list.html(根据app的注册顺序,逐一去 templates 目录下寻找)

5. 5 静态文件

在开发过程中,一般将:

  • 图片
  • CSS
  • JS
    都会当作静态文件处理
5.5.1 在 app01 目录下创建 static 目录

并随意添加一个 png 文件
在这里插入图片描述

5.5.2 html 中引入图片
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><img src="/static/1.png" alt=""><h1>用户列表</h1>
</body>
</html>

在这里插入图片描述

5.5.3 创建静态文件的步骤
5.5.3.1 ststic目录

在 app 目录下创建 ststic 文件夹

在这里插入图片描述

5.5.3.2 引用静态文件

在这里插入图片描述

<!DOCTYPE html>
{% load static %}<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="{% static 'plugins/bootstrap-3.4.1/css/bootstrap.css' %}">
</head>
<body><img src="{% static 'img/1.png' %}" alt=""><h1>用户列表</h1><input type="text" class="btn btn-primary" value="新建"/><script src="{% static 'js/jquery-3.7.1.min.js' %}"></script>
<script src="{% static 'plugins/bootstrap-3.4.1/js/bootstrap.js' %}"></script>
</body>
</html>

在这里插入图片描述

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

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

相关文章

欧鹏RHCE 第四次作业

unit4.web服务的部署及高级优化方案 1. 搭建web服务器要求如下&#xff1a; 1.web服务器的主机ip&#xff1a;172.25.254.100 2.web服务器的默认访问目录为/var/www/html 默认发布内容为default‘s page 3.站点news.timinglee.org默认发布目录为/var/www/virtual/timinglee.org…

String、StringBuider、StringBuffer

可变性&#xff1a; String 是final修饰的不可变类&#xff0c;每次修改值都会产生新的对象&#xff0c;而StringBuffer和StringBuilder是可变类&#xff0c;每次修改值不会产生新的对象 线程安全&#xff1a; StringBuilder不是线程安全的&#xff0c;String、StringBuffer…

YOLOv8原理解析[目标检测理论篇]

接下来是我最想要分享的内容&#xff0c;梳理了YOLOv8预测的整个流程&#xff0c;以及训练的整个流程。 关于YOLOv8的主干网络在YOLOv8网络结构介绍-CSDN博客介绍了&#xff0c;为了更好地介绍本章内容&#xff0c;还是把YOLOv8网络结构图放在这里&#xff0c;方便查看。 1.YOL…

【痕迹】QQ+微信朋友圈和聊天记录分析工具1.0.3

【痕迹】QQ微信朋友圈和聊天记录分析工具1.0.3 &#xff08;1&#xff09;纯Python语言实现&#xff0c;使用Flask后端&#xff0c;本地分析&#xff0c;不上传个人数据。 &#xff08;2&#xff09;数据可视化分析QQ、微信聊天记录&#xff0c;提取某一天的聊天记录与大模型…

Cisco NX-OS System Software - ACI 16.0(5h)

Cisco NX-OS System Software - ACI 16.0(5h) 适用于 ACI 模式下的 Cisco Nexus 9000 系列交换机 请访问原文链接&#xff1a;Cisco NX-OS System Software - ACI 16.0(5h)&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org Cis…

python可视化分析日常记账数据总结个人消费情况

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.代码 三.分析 一.前言 日常消费数据通常包括消费者在日常生活中购买商品和服务的各种统计数字和信息。 二.代码 import matplotlib.pyplot as plt import pandas as pd #解决数据输出时列名不对齐的问题 …

扩展van Emde Boas树以支持卫星数据:设计与实现

扩展van Emde Boas树以支持卫星数据&#xff1a;设计与实现 1. 引言2. vEB树的基本概念3. 支持卫星数据的vEB树设计3.1 数据结构的扩展3.2 操作的修改3.3 卫星数据的存储和检索 4. 详细设计和实现4.1 定义卫星数据结构体4.2 修改vEB树节点结构4.3 插入操作的伪代码4.4 C语言实现…

鸿蒙通用组件弹窗简介

鸿蒙通用组件弹窗简介 弹窗----Toast引入ohos.promptAction模块通过点击按钮&#xff0c;模拟弹窗 警告对话框----AlertDialog列表弹窗----ActionSheet选择器弹窗自定义弹窗使用CustomDialog声明一个自定义弹窗在需要使用的地方声明自定义弹窗&#xff0c;完整代码 弹窗----Toa…

Kafka---总结篇

kafka架构 主要概念 broker: 存储消息的机器 控制器controller &#xff08;1&#xff09;使用zookeeper&#xff0c; 除了提供一般的broker功能之外&#xff0c;还负责选举分区首领。通过在zookeepr中创建一个名为 /controller的临时节点称为 controller。每个选出的contro…

DCEP数字人民币:中国法定区块链中数字货币

一、背景 作为全球第二大经济体&#xff0c;中国在数字货币领域的发展一直备受关注。近年来&#xff0c;中国政府积极推动数字货币的研究和试点工作&#xff0c;逐步开放数字货币交易试点&#xff0c;并计划推出中国唯一合法数字货币——数字人民币&#xff08;RMB Coin&#…

3套Matplotlib主题

分享3套Matplotlib主题&#xff0c;让图表更好看 seaborn默认主题 import seaborn as sns import pandas as pd import matplotlib as mpltips pd.read_csv(./sns_data/tips.csv)sns.relplot(datatips,x"消费金额 ($)",y"小费金额 ($)",hue"客人性…

【Django学习笔记(九)】Flask + MySQL的结合案例

Flask MySQL结合案例 前言正文案例1&#xff1a;添加用户1.1 浏览器发送请求&#xff0c;返回页面main.pyhtml页面 1.2 新增用户并连接数据库main.pyhtml页面 案例2&#xff1a;查询所有用户2.1 main.py2.2 html2.3 bootstrap优化html 前言 在本文中&#xff0c;介绍如何将 F…

MySQL mydumper工具

目录 1. mydumper介绍 2. mydumper参数解释 3. 备份例子 3.1 备份全库(未包含其他) 3.2 备份全库(包含其他) 3.3 备份指定数据库(-B或--database) 3.4 导出指定表(-T或--tables-list) 3.5 只导出表结构&#xff0c;不导出表数据(-d或--no-data) 3.6 只导出表数据&#…

以gitee为例的git入门使用指北

安装git 在linux中我们首先需要使用 sudo apt install git来下载git 在windows中可以下载msysGit 链接&#xff1a;https://git-scm.com/download/win gitee准备 申请账号 建立仓库 ​ 点击新建仓库 这里一般是私有库&#xff0c;点击创建&#xff0c;这时你就拥有一个线上…

[开发|鸿蒙] DevEco Studio编译构建(笔记,持续更新)

构建体系 编译构建是将应用/服务的源代码、资源、第三方库等&#xff0c;通过编译工具转换为可直接在硬件设备上运行的二进制机器码&#xff0c;然后再将二进制机器码封装为HAP/APP软件包&#xff0c;并为HAP/APP包进行签名的过程。其中&#xff0c;HAP是可以直接运行在模拟器…

Kafka应用Demo:按主题订阅消费消息

安装环境 Kafka安装可参考官方网站的指导(https://kafka.apache.org/quickstart), 按步骤解压压缩包&#xff0c;修改配置。然后再启动zookeeper和kafka-server即可。 需要注意的一点&#xff1a;如果是在VMware虚拟机上启动的kafka, 需要修改一下server.properties配置文件&am…

cmake进阶:目录属性之 INCLUDE_DIRECTORIES说明二

一. 简介 前面几篇文章学习了 cmake的一些目录属性&#xff0c;主要有两个重要的目录属性INCLUDE_DIRECTORIES 属性、LINK_DIRECTORIES 属性。文章如下&#xff1a; cmake进阶&#xff1a;目录属性之 INCLUDE_DIRECTORIES-CSDN博客 本文学习 父目录的 INCLUDE_DIRECTORIES …

<网络安全>《79 概念讲解<第十二课 物联网常用协议-(远距离非蜂窝网络)-终端设备>》

协议简称全称名称内容说明ZigBee也称紫蜂低速短距离传输的无线通信协议一种高可靠的无线数传网络&#xff0c;主要特色有低速、低耗电、低成本、支持大量网上节点、支持多种网上拓扑、低复杂度、快速、可靠、安全。ZigBee技术是一种新型技术&#xff0c;主要是依靠无线网络进行…

JAVA IO/NIO 知识点总结

一、常见 IO 模型简介 1. 阻塞IO模型 最传统的一种IO模型&#xff0c;即在读写数据过程中会发生阻塞现象。当用户线程发出IO请求之后&#xff0c;内核会去查看数据是否就绪&#xff0c;如果没有就绪就会等待数据就绪&#xff0c;而用户线程就会处于阻塞状态&#xff0c;用户线…

Linux 命令查看服务器信息

1.查看 CPU 信息 lscpu2.查看内存信息 cat /proc/meminfo |grep MemTotal查看逻辑 CPU个数 cat /proc/cpuinfo | grep "processor"3.查看磁盘信息 df -hl