【Django】初识Django快速上手

Django简介

Django是一个高级的、开源的Python Web框架,旨在快速、高效地开发高质量的Web应用程序
https://developer.mozilla.org/zh-CN/docs/Learn/Server-side/Django/Introduction

安装Django

pip install Django

如果要知道安装的Django的版本,可以在命令行工具下输入

python -m django --version

在这里插入图片描述

安装完django后的目录结构如下

D:\PythonEv- python.exe- Scripts- pip.exe- django-admin.exe   - Lib- 内置模块- site-packages- django         

这里会发现Scripts文件夹下多了一个djangon-admin.exe文件,这个可以执行程序的作用是创建django项目中的文件和文件夹。在django项目中会有一些默认的文件和文件夹。

创建Django项目

在终端中创建

在windows的cmd环境中,输入下面的命令:

django-admin startproject mysite

就会在当前目录下创建一个名为mysite的项目

PS D:\MyCode\Python\Web\DjangoProject> django-admin startproject mysite
PS D:\MyCode\Python\Web\DjangoProject> dir目录: D:\MyCode\Python\Web\DjangoProjectMode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2024/4/27     16:48                mysite

进入这个mysite目录下你会发现有一个同名的mysite目录,这个mysite目录是整个项目的配置文件目录,上一个mysite目录是项目的根目录,还有一个manage.py文件,这个是项目的管理脚本。

PS D:\MyCode\Python\Web\DjangoProject> cd mysite
PS D:\MyCode\Python\Web\DjangoProject\mysite> dir目录: D:\MyCode\Python\Web\DjangoProject\mysiteMode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2024/4/27     16:48                mysite
-a----         2024/4/27     16:48            684 manage.py
PS D:\MyCode\Python\Web\DjangoProject\mysite> cd mysite
PS D:\MyCode\Python\Web\DjangoProject\mysite\mysite> dir目录: D:\MyCode\Python\Web\DjangoProject\mysite\mysiteMode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         2024/4/27     16:48            405 asgi.py
-a----         2024/4/27     16:48           3345 settings.py
-a----         2024/4/27     16:48            784 urls.py
-a----         2024/4/27     16:48            405 wsgi.py
-a----         2024/4/27     16:48              0 __init__.py

项目根目录下,运行python manage.py runserver,Django会以127.0.0.1:8000这个默认配置启动项目。

打开浏览器输入127.0.0.1:8000显示下面的页面就说明成功啦

在这里插入图片描述

使用Pycharm创建

在这里插入图片描述

对比通过终端创建的Django项目和通过Pycharm创建的Django项目,会发现通过Pycharm创建的Django项目多了一个templates文件夹。

在这里插入图片描述

这是因为Pycharm在标准的基础上默认加了点东西。这个创建的templates目录可以删除,在setting.py文件中有如下代码

TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [BASE_DIR / 'templates'],'APP_DIRS': True,'OPTIONS': {'context_processors': ['django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages',],},},
]

在终端创建的项目中的settings.py文件里 这行代码'DIRS': [BASE_DIR / 'templates']的写法是'DIRS': []。在删除掉templates文件夹后记得要修改这行代码。

创建APP

在Django框架中,app 是指一个具有明确边界和独立功能的模块化组件,在一个Django项目中可以有多个app。

项目和应用有什么区别?应用是一个专门做某件事的网络应用程序——比如博客系统,或者公共记录的数据库,或者小型的投票程序。项目则是一个网站使用的配置和应用的集合。项目可以包含很多个应用。应用可以被很多个项目使用。

通常是将app放在和manage.py同级的目录下。在mysite项目的根目录下输入如下命令(在Pychram中也是要通过Terminal终端通过命令创建)

python manage.py startapp app01

系统就会自动生成app01的目录。app01的结构如下:

PS D:\MyCode\Python\Web\DjangoProject\mysite> python manage.py startapp app01
PS D:\MyCode\Python\Web\DjangoProject\mysite> cd app01
PS D:\MyCode\Python\Web\DjangoProject\mysite\app01> dir目录: D:\MyCode\Python\Web\DjangoProject\mysite\app01Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2024/4/27     17:37                migrations
-a----         2024/4/27     17:37             66 admin.py
-a----         2024/4/27     17:37            148 apps.py
-a----         2024/4/27     17:37             60 models.py 对数据库操作
-a----         2024/4/27     17:37             63 tests.py	单元测试
-a----         2024/4/27     17:37             66 views.py	视图函数
-a----         2024/4/27     17:37              0 __init__.py

快速上手

  • 注册app

    在这里插入图片描述

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

    在这里插入图片描述

  • 编写视图函数

    在这里插入图片描述

  • 运行

    在这里插入图片描述

这只是一个简单的例子,实际的界面肯定是要加载html文件的,这就要引入模板。

templates模板

在app01目录下创建一个templates文件夹,在这个文件夹中创建了一个index.html文件,将view.py中的index方法修改成如下形式

def index(request):return render(request,"index.html")

Django会根据app的注册顺序,在每一个app的templates文件夹下去寻找index.html文件

静态文件

在开发过程中图片,css,js都会当做静态文件处理。可以在app下创建一个static目录专门存放这些静态文件。

在这里插入图片描述

引入静态文件

HTML模板文件的顶部,使用 {% load static %} 标签加载静态文件标签库。然后,使用 {% static %} 标签来引用静态文件的URL

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="{% static "plugins/bootstrap-3.4.1/css/bootstrap.min.css" %}">
</head>
<body>
<img src="{% static "img/img.png" %}" alt=""><div class="dropdown"><button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">Dropdown<span class="caret"></span></button><ul class="dropdown-menu" aria-labelledby="dropdownMenu1"><li><a href="#">Action</a></li><li><a href="#">Another action</a></li><li><a href="#">Something else here</a></li><li role="separator" class="divider"></li><li><a href="#">Separated link</a></li></ul>
</div>
<script src="{% static "js/jquery-3.6.0.min.js" %}"></script>
<script src="{% static 'plugins/bootstrap-3.4.1/js/bootstrap.min.js' %}"></script>
<script>$(".dropdown-toggle").dropdown();
</script>
</body>
</html>

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

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

相关文章

锂电池SOH预测 | 基于CNN-GRU的锂电池SOH预测(matlab)

锂电池SOH预测 锂电池SOH预测完整代码锂电池SOH预测 锂电池的SOH(状态健康度)预测是一项重要的任务,它可以帮助确定电池的健康状况和剩余寿命,从而优化电池的使用和维护策略。 SOH预测可以通过多种方法实现,其中一些常用的方法包括: 容量衰减法:通过监测电池的容量衰减…

Qt/C++ 波形绘制双缓冲下改善PaintEvent连续绘制卡顿问题(完整代码解析)

音频波形可视化&#xff1a;该控件用于将音频样本数据可视化为波形&#xff0c;常用于音频处理软件中以展示音频信号的时间域特性。 动态数据绘制&#xff1a;控件能够响应外部数据的变化并重新绘制波形&#xff0c;适用于实时或动态的音频数据流。 自定义绘制逻辑&#xff1…

Android Studio gradle 默认sourceSets配置

一. AS默认的sourceSets配置 sourceSets在Android插件中如何使用的&#xff1a;android {sourceSets {main {manifest.srcFile AndroidManifest.xmljava.srcDirs [src]resources.srcDirs [src]aidl.srcDirs [src]renderscript.srcDirs [src]res.srcDirs [res]assets.srcD…

Pycharm新建工程时使用Python自带解释器的方法

Pycharm新建工程时使用Python自带解释器的方法 新建Project时最好不要新建Python解释器&#xff0c;实践证明&#xff0c;自己新建的Python解释器容易出现各种意想不到的问题。 那么怎样使用Python安装时自带的解释器呢&#xff1f; 看下面的三张截图大家就清楚了。 我的Pyth…

机器视觉系统-工业光源什么是同轴光

光路描述&#xff1a;反射光线与镜头平行&#xff0c;称为同轴光。 效果分析&#xff1a;光线经过平面反射后&#xff0c;与光轴平行地进入镜头。此时被测物相当于一面镜子&#xff0c;图像体现的是光源的信息&#xff0c;当“镜子“出现凹凸不平时&#xff0c;将格外地明显。 …

Linux异步io机制 io_uring

io_uring作为2019年的后起之秀&#xff0c;为linux异步网络编程新增一把倚天大剑&#xff0c;让我们简单学习一下&#xff01; 数据结构&#xff1a; a. sq (submition queue)&#xff1a;提交队列&#xff0c;一个存放待执行事件的环形队列 b. cq (completion queue): 完成…

Node.js -- 包管理工具

文章目录 1. 概念介绍2. npm2.1 npm 下载2.2 npm 初始化包2.3 npm 包(1) npm 搜索包(2) npm 下载安装包(3) require 导入npm 包的基本流程 2.4 开发依赖和生产依赖2.5 npm 全局安装(1) 修改windows 执行策略(2) 环境变量Path 2.6 安装包依赖2.7 安装指定版本的包2.8 删除依赖2.…

visual studio2022,开发CMake项目添加rabbitmq库,连接到远程计算机并进行开发于调试

1.打开visual studio installer 。安装“用于 Windows 的 C CMake 工具” 2.新建CMake项目 3.点击VS的“工具”—>"选项“—>“跨平台”—>”连接管理器“,添加远程计算机。用来将VS编辑的代码传到服务器进行编译–连接—运行&#xff08;调试&#xff09;。 …

java中的泛型(三)——通配符

在前面的文章中我们简要介绍了泛型的概念以及泛型类和泛型方法的使用。在介绍泛型时我们说过在在java中一般用E、T、K、V、N、?这几个字母和符号来表示泛型&#xff0c;对于前面的几个字符它们的使用没有区别&#xff0c;只要注意它们所代表的类型就好。而对于最后一个&#x…

优化大型语言模型交互:提升查询和提示效果的26条原则

推荐下arxiv挂的一个提示词教程&#xff1a; https://github.com/VILA-Lab/ATLAS https://arxiv.org/abs/2312.16171 它提出了一套26条指导原则&#xff0c;改善和优化与大型语言模型&#xff08;LLMs&#xff09;的交互过程。通过这些原则&#xff0c;旨在简化对LLMs的查询和…

E4980A是德科技E4980A精密LCR表

181/2461/8938产品概述&#xff1a; Keysight E4980A 精密 LCR 表为各种元件测量提供了精度、速度和多功能性的最佳组合。E4980A 在低阻抗和高阻抗范围内提供快速测量速度和出色的性能&#xff0c;是元件和材料的一般研发和制造测试的终极工具。LAN、USB 和 GPIB PC 连接可提高…

【氮化镓】p-GaN HEMTs空穴陷阱低温冻结效应

这篇文章是关于低温条件下p-GaN高电子迁移率晶体管&#xff08;HEMTs&#xff09;栅极漏电的研究。文章通过电容深能级瞬态谱&#xff08;C-DLTS&#xff09;测试和理论模型分析&#xff0c;探讨了空穴陷阱对栅极漏电电流的影响。以下是对文章的总结&#xff1a; 摘要&#xf…

本地认证的密码去哪了?怎么保证安全的?

1. windows登录的明文密码&#xff0c;存储过程是怎么样的&#xff1f;密文存在哪个文件下?该文件是否可以打开&#xff0c;并且查看到密文&#xff1f; 系统将输入的明文密码通过hash算法转为哈希值&#xff0c;且输入的值会在内存中立即删除无法查看。 然后将密文存放在C:…

基于Spring Boot的火车订票管理系统设计与实现

基于Spring Boot的火车订票管理系统设计与实现 开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/idea 系统部分展示 前台首页功能界面图&#xff0c;在系统首页可以查看…

ROS机器人小车建模仿真与SLAM(5)

目录 一、ROS中使用摄像头 1.1 验证摄像头设备可用 1.2 安装cheese 1.3 测试 二、获取摄像头驱动包 2.1 usb_cam 2.1.1 rosrun方式运行 2.1.2 roslaunch方式运行 三、摄像头标定(camera calibration) 3.2 标定前准备 3.2.1 标定板 3.2.2 摄像头调焦 3.3 标定摄像头…

MySQL__索引

文章目录 &#x1f60a; 作者&#xff1a;Lion J &#x1f496; 主页&#xff1a; https://blog.csdn.net/weixin_69252724 &#x1f389; 主题&#xff1a; MySQL__索引&#xff09; ⏱️ 创作时间&#xff1a;2024年04月23日 ———————————————— 这里写目…

avl excite python二次开发1--python解释器需用内置解释器aws_cmd

avl excite python二次开发1--python解释器需用内置解释器aws_cmd 1、python解释器问题1.1、用外置python解释器&#xff0c;import WSInterface会失败(WSInterface.pyd)1.2、用内置解释器aws_cmd运行py脚本1.3 用内置解释器aws_python执行脚本三级目录 1、python解释器问题 1…

Python_AI库 Pandas的数据结构及基本操作

Python_AI库 Pandas的数据结构及基本操作 本文默认读者具备以下技能&#xff1a; 熟悉python基础知识&#xff0c;vscode或其它编辑工具 熟悉表格文件的基本操作 具备自主扩展学习能力 本文篇幅较长&#xff0c;但比较重要&#xff0c;希望读者可以认真看完并实例运行。 Pa…

Hugging Face 新开源Parler-TTS,高质量文本转语音模型,可自主训练定制声音,训练代码、模型、数据集全部公开

前言 Parler-TTS 是大名鼎鼎的huggingface推出的一款轻量级文本到语音&#xff08;TTS&#xff09;模型&#xff0c;它能够生成高质量、自然流畅的语音&#xff0c;并且能够模仿特定说话者的风格&#xff0c;包括性别、音高、说话风格等。这款模型是由Dan Lyth和Simon King创建…

【机器学习原理】决策树从原理到实践

基于树的模型是机器学习中非常重要的一类模型&#xff0c;最基础的就是决策树&#xff0c;本篇主要讲述决策树的原理和几类最常见的决策树算法&#xff0c;这也是更复杂的树模型算法的基础。 参考文章&#xff1a; 1.CSDN-基于熵的两个模型(ID3,C4.5)比较详细&#xff0c;有数字…