【玩转全栈】----Django基本配置和介绍

目录

Django基本介绍:

Django基本配置:

安装Django

创建项目

创建app

注册app

Django配置路由URL

Django创建视图

启动项目

Django基本介绍:

        Django是一个开源的、基于Python的高级Web框架,旨在以快速、简洁的方式构建高质量的Web应用程序。它由经验丰富的开发者设计,遵循“Don’t Repeat Yourself”(不要重复自己)和“Convention over Configuration”(约定优于配置)的原则,大大提高了开发效率和代码可维护性。Django内置了强大的功能,例如URL路由、ORM(对象关系映射)、模板引擎、表单处理和用户认证等,帮助开发者轻松实现从简单的网站到复杂的企业级应用。它还提供了一个直观的管理后台,让开发者可以快速管理数据模型和内容。此外,Django具有高度的安全性,内置防护如SQL注入、跨站脚本攻击(XSS)和跨站请求伪造(CSRF)。凭借其丰富的文档和强大的社区支持,Django成为开发者快速构建Web应用的首选框架之一,非常适合注重开发速度、代码质量和安全性的项目。

Django基本配置:

安装Django

Win+R打开控制台窗口

安装Django,输入:

pip install Django

成功安装后,可以检查是否安装成功,输入:

python -m django --version

若安装成功,会显示Django版本

创建项目

首先是在控制台进入存放Django文件的文件夹,放在自己好找的位置,一般就和之前的项目放在一起。

在控制台中基本文件命令如下:

#切换盘符
D:(C:)
#进入文件夹
cd 文件夹名称
#退到上一级文件夹
cd..
#清除控制台命令
cls

执行命令创建项目

打开django-admin工具,默认是在python\Script\django-admin.exe

在控制台输入:

"django-admin.exe位置" startproject 项目名称

可以参考我这个

如果你的django-admin.exe已经添加到环境变量了,直接输入:

django-admin startproject 项目名称

创建后,在pycharm中打开是这样的目录结果:

默认项目的文件介绍:

show
├── manage.py         【项目的管理,启动项目、创建app、数据管理】【不要动】【***常常用***】
└── show├── __init__.py├── settings.py    【项目配置】          【***常常修改***】├── urls.py        【URL和函数的对应关系】【***常常修改***】├── asgi.py        【接收网络请求】【不要动】└── wsgi.py        【接收网络请求】【不要动】

创建app

右键manage.py,在控制台打开

在控制台输入:

python manage.py startapp app01

app01是app名称,可以换成其他的,在正常的中大型项目开发中,会用到多app,就像下面这样:


    - app,用户管理【表结构、函数、HTML模板、CSS】
    - app,订单管理【表结构、函数、HTML模板、CSS】
    - app,后台管理【表结构、函数、HTML模板、CSS】
    - app,网站   【表结构、函数、HTML模板、CSS】
    - app,API    【表结构、函数、HTML模板、CSS】
    ..
    
但我们开发比较简洁,用不到多app,一般情况下,项目下创建1个app即可。

创建好app后项目结果是这样的:

文件介绍:

├── app01
│   ├── __init__.py
│   ├── admin.py         【固定,不用动】django默认提供了admin后台管理。
│   ├── apps.py          【固定,不用动】app启动类
│   ├── migrations       【固定,不用动】数据库变更记录
│   │   └── __init__.py
│   ├── models.py        【**重要**】,对数据库操作。
│   ├── tests.py         【固定,不用动】单元测试
│   └── views.py         【**重要**】,函数。
├── manage.py
└── show
    ├── __init__.py
    ├── asgi.py
    ├── settings.py
    ├── urls.py          【URL->函数】
    └── wsgi.py

注册app

在新建的django文件中找到settings设置配置文件,这个位置就是用来设置注册app的

将刚才创建的app注册,找到新建的app中的apps.py文件,name就是该app的名称,可以看见是在App01Config类中的。

将该app添加到设置中

Django配置路由URL

        Django中的URL路由通过urls.py文件管理,将客户端请求的URL路径映射到相应的视图函数或类。开发者使用pathre_path定义URL规则,其中支持静态路径和动态参数(如<int:id>)。此外,通过include()可以模块化管理各应用的URL配置,提升大型项目的结构清晰度。路由还支持命名模式,可通过反向解析生成URL,减少硬编码的风险。结合灵活的匹配规则与高可维护性,Django的URL路由是构建Web应用中连接前后端的重要核心。

配置path路径,在新建django文件中找到url.py文件

这里path中的第一个参数是路径,可以理解为页面url,第二个参数是进入前面路径后执行的函数,通常在视图函数中编写

下面进行一个基本的网页配置:

在url中配置路径,网页路径为hello/,设置跳转为视图文件中的hello函数,别忘了引入视图文件

别忘记引入view视图文件

Django创建视图

在视图文件中,定义视图函数hello:

def hello(request):return HttpResponse('Hello World!')

requests对象包含了客户端发送的所有信息,比如 HTTP 方法(GET、POST等)、URL参数、HTTP头部、Cookies等。

HttpResponse

  • 这是 Django 提供的一个类,用于构造 HTTP 响应对象。
  • 它表示服务器返回给客户端的内容。
  • 通过实例化 HttpResponse 类,我们可以创建并返回 HTML、文本或其他内容。

别忘记在视图文件中引入HttpResponse,用来返回文字

启动项目

用终端打开manage.py文件,输入django的项目启动命令:

python manage.py runserver

ctrl+鼠标左键单击本地服务器地址,打开页面

输入刚才定义的hello路由

显示了刚才返回的文字:

注意,要是之前运行了一个项目,后面再运行另一个的话,要关闭前面那个,因为端口被前一个占用了,后面那个项目就还是之前那个页面,关闭也很简单,把对应终端关掉就行。

感谢您的三连!!!

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

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

相关文章

机器学习周报-文献阅读

文章目录 摘要Abstract 1 相关知识1.1 WDN建模1.2 掩码操作&#xff08;Masking Operation&#xff09; 2 论文内容2.1 WDN信息的数据处理2.2 使用所收集的数据构造模型2.2.1 Gated graph neural network2.2.2 Masking operation2.2.3 Training loss2.2.4 Evaluation metrics 2…

TensorFlow 2基本功能和示例代码

TensorFlow 2.x 是 Google 开源的一个深度学习框架&#xff0c;广泛用于构建和训练机器学习模型。 一、核心特点 1. Keras API 集成 TensorFlow 2.x 将 Keras 作为其核心 API&#xff0c;简化了模型的构建和训练流程。Keras 提供了高层次的 API&#xff0c;易于使用和理解。…

Visual Studio Code修改terminal字体

个人博客地址&#xff1a;Visual Studio Code修改terminal字体 | 一张假钞的真实世界 默认打开中断后字体显示如下&#xff1a; 打开设置&#xff0c;搜索配置项terminal.integrated.fontFamily&#xff0c;修改配置为monospace。修改后效果如下&#xff1a;

新鲜速递:DeepSeek-R1开源大模型本地部署实战—Ollama + MaxKB 搭建RAG检索增强生成应用

在AI技术快速发展的今天&#xff0c;开源大模型的本地化部署正在成为开发者们的热门实践方向。最火的莫过于吊打OpenAI过亿成本的纯国产DeepSeek开源大模型&#xff0c;就在刚刚&#xff0c;凭一己之力让英伟达大跌18%&#xff0c;纳斯达克大跌3.7%&#xff0c;足足是给中国AI产…

SpringCloud基础二(完结)

HTTP客户端Feign 在SpringCloud基础一中&#xff0c;我们利用RestTemplate结合服务注册与发现来发起远程调用的代码如下&#xff1a; String url "http://userservice/user/" order.getUserId(); User user restTemplate.getForObject(url, User.class);以上代码就…

[Java]泛型(一)泛型类

1. 什么是泛型类&#xff1f; 泛型类是指类中使用了占位符类型&#xff08;类型参数&#xff09;的类。通过使用泛型类&#xff0c;你可以编写可以处理多种数据类型的代码&#xff0c;而无需为每种类型编写单独的类。泛型类使得代码更具通用性和可重用性&#xff0c;同时可以保…

react native在windows环境搭建并使用脚手架新建工程

截止到2024-1-11&#xff0c;使用的主要软件的版本如下&#xff1a; 软件实体版本react-native0.77.0react18.3.1react-native-community/cli15.0.1Android Studio2022.3.1 Patch3Android SDKAndroid SDK Platform 34 35Android SDKAndroid SDK Tools 34 35Android SDKIntel x…

【计算机网络】设备更换地区后无法访问云服务器问题

文章目录 1. **服务器的公网 IP 是否变了**2. **服务器的防火墙或安全组设置**3. **本地运营商或 NAT 限制**4. **ISP 限制或端口封锁**5. **服务器监听地址检查** 1. 服务器的公网 IP 是否变了 在服务器上运行以下命令&#xff0c;检查当前的公网 IP&#xff1a;curl ifconfi…

GESP2023年12月认证C++六级( 第三部分编程题(1)闯关游戏)

参考程序代码&#xff1a; #include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> #include <string> #include <map> #include <iostream> #include <cmath> using namespace std;const int N 10…

UE学习日志#15 C++笔记#1 基础复习

1.C20的import 看看梦开始的地方&#xff1a; import <iostream>;int main() {std::cout << "Hello World!\n"; } 经过不仔细观察发现梦开始的好像不太一样&#xff0c;这个import是C20的模块特性 如果是在VS里编写的话&#xff0c;要用这个功能需要新…

深入解析 C++17 中的 std::not_fn

文章目录 1. std::not_fn 的定义与目的2. 基本用法2.1 基本示例2.2 使用 Lambda 表达式2.3 与其他函数适配器的比较3. 在标准库中的应用3.1 结合标准库算法使用3.1.1 std::find_if 中的应用3.1.2 std::remove_if 中的应用3.1.3 其他标准库算法中的应用4. 高级技巧与最佳实践4.1…

AI大模型开发原理篇-2:语言模型雏形之词袋模型

基本概念 词袋模型&#xff08;Bag of Words&#xff0c;简称 BOW&#xff09;是自然语言处理和信息检索等领域中一种简单而常用的文本表示方法&#xff0c;它将文本看作是一组单词的集合&#xff0c;并忽略文本中的语法、词序等信息&#xff0c;仅关注每个词的出现频率。 文本…

创建前端项目的方法

目录 一、创建前端项目的方法 1.前提&#xff1a;安装Vue CLI 2.方式一&#xff1a;vue create项目名称 3.方式二&#xff1a;vue ui 二、Vue项目结构 三、修改Vue项目端口号的方法 一、创建前端项目的方法 1.前提&#xff1a;安装Vue CLI npm i vue/cli -g 2.方式一&…

INCOSE需求编写指南-附录 D: 交叉引用矩阵

附录 Appendix D: 交叉引用矩阵 Cross Reference Matrices Rules to Characteristics Cross Reference Matrix NRM Concepts and Activities to Characteristics Cross Reference Matrix Part 1 NRM Concepts and Activities to Characteristics Cross Reference Matrix Part…

快速提升网站收录:避免常见SEO误区

本文转自&#xff1a;百万收录网 原文链接&#xff1a;https://www.baiwanshoulu.com/26.html 在快速提升网站收录的过程中&#xff0c;避免常见的SEO误区是至关重要的。以下是一些常见的SEO误区及相应的避免策略&#xff1a; 一、关键词堆砌误区 误区描述&#xff1a; 很多…

案例研究丨浪潮云洲通过DataEase推进多维度数据可视化建设

浪潮云洲工业互联网有限公司&#xff08;以下简称为“浪潮云洲”&#xff09;成立于2018年&#xff0c;定位于工业数字基础设施建设商、具有国际影响力的工业互联网平台运营商、生产性互联网头部服务商。截至目前&#xff0c;浪潮云洲工业互联网平台连续五年入选跨行业跨领域工…

Kmesh v1.0 正式发布

2025 年 1 月 23 日&#xff0c;Kmesh 团队正式发布了 Kmesh v1.0235。Kmesh 作为一款开源的服务网格解决方案&#xff0c;v1.0 版本在网络流量管理领域引入了多项重磅特性2。具体如下134&#xff1a; IPsec 加密通信&#xff1a;引入 IPsec 加密协议&#xff0c;将节点间流量加…

记录使用EasyWeChat做微信小程序登陆和其他操作

1.微信小程序登陆 关于后端&#xff1a;fastadmin加密生成token-CSDN博客 思路&#xff1a; 通过easywechatfastadmin&#xff0c; &#xff08;1&#xff09; 用户端登陆&#xff08;获取code&#xff09; -> 请求后端接口获取session_key -> 用户端保存session_key…

二十三种设计模式-享元模式

享元模式&#xff08;Flyweight Pattern&#xff09;是一种结构型设计模式&#xff0c;旨在通过共享相同对象来减少内存使用&#xff0c;尤其适合在大量重复对象的情况下。 核心概念 享元模式的核心思想是将对象的**可共享部分&#xff08;内部状态&#xff09;提取出来进行共…

网站快速收录:提高页面加载速度的重要性

本文转自&#xff1a;百万收录网 原文链接&#xff1a;https://www.baiwanshoulu.com/32.html 网站快速收录中&#xff0c;提高页面加载速度具有极其重要的意义。以下从多个方面详细阐述其重要性&#xff1a; 一、提升用户体验 减少用户等待时间&#xff1a;页面加载速度直接…