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

news/2025/1/24 11:55:55/

目录

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,输入:

python">pip install Django

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

python">python -m django --version

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

创建项目

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

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

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

执行命令创建项目

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

在控制台输入:

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

可以参考我这个

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

python">django-admin startproject 项目名称

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

默认项目的文件介绍:

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

创建app

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

在控制台输入:

python">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.ppmy.cn/news/1565776.html

相关文章

对称二叉树(力扣101)

这道题翻译过来就是判断根节点的左右子树是否可以通过翻转&#xff0c;变得完全一样。如果可以&#xff0c;则这棵二叉树为对称二叉树。那么什么样的左右子树可以通过翻转相互变换呢&#xff1f;它们的节点的数值一定对称分布。那么我们就需要同时遍历左右树&#xff0c;不断比…

ASP.NET Core--依赖注入(DI)--在ASP.NET Core中使用依赖注入

一、在ASP.NET Core中实现依赖注入 1.1 配置依赖注入 在ASP.NET Core中实现依赖注入的第一步是配置依赖注入。ASP.NET Core使用了一个称为依赖注入容器&#xff08;DI Container&#xff09;的组件来管理对象之间的依赖关系。DI容器在应用程序启动时被配置&#xff0c;并且可…

10. SpringCloud Alibaba Sentinel 规则持久化部署详细剖析

10. SpringCloud Alibaba Sentinel 规则持久化部署详细剖析 文章目录 10. SpringCloud Alibaba Sentinel 规则持久化部署详细剖析1. 规则持久化1.1 Nacos Server 配置中心-规则持久化实例 2. 最后&#xff1a; 1. 规则持久化 规则没有持久化的问题 如果 sentinel 流控规则没有…

Linux——线程条件变量(同步)

Linux——多线程的控制-CSDN博客 文章目录 目录 文章目录 前言 一、条件变量是什么&#xff1f; 1、死锁的必要条件 1. 互斥条件&#xff08;Mutual Exclusion&#xff09; 2. 请求和保持条件&#xff08;Hold and Wait&#xff09; 3. 不可剥夺条件&#xff08;No Preemption&…

Swift 实现:颠倒 32 位无符号整数的二进制位

网罗开发 &#xff08;小红书、快手、视频号同名&#xff09; 大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等…

缓存之美:万文详解 Caffeine 实现原理(下)

上篇文章&#xff1a;缓存之美&#xff1a;万文详解 Caffeine 实现原理&#xff08;上&#xff09; getIfPresent 现在我们对 put 方法有了基本了解&#xff0c;现在我们继续深入 getIfPresent 方法&#xff1a; public class TestReadSourceCode {Testpublic void doRead() …

DAY6,使用互斥锁 和 信号量分别实现5个线程之间的同步

题目 请使用互斥锁 和 信号量分别实现5个线程之间的同步 代码&#xff1a;信号量实现 void* task1(void* arg); void* task2(void* arg); void* task3(void* arg); void* task4(void* arg); void* task5(void* arg);sem_t sem[5]; //信号量变量int main(int argc, const …

设计模式的艺术-享元模式

结构性模式的名称、定义、学习难度和使用频率如下表所示&#xff1a; 1.如何理解享元模式 当一个软件系统在运行时产生的对象数量太多&#xff0c;将导致运行代价过高&#xff0c;带来系统性能下降等问题。 在享元模式中&#xff0c;存储这些共享实例对象的地方称为享元池&…