当前位置: 首页 > news >正文

认识Django框架,使用Django 2024新手创建Django项目,使用编译工具:Pycharm

Django简单介绍

Django 是一个用 Python 编写的开源 web 应用框架,旨在促进快速开发、维护和部署高效、可扩展的 web 应用程序。它是遵循模型-模板-视图(MTV)设计模式的一个高级框架,尽管有时也被描述为遵循MVC(模型-视图-控制器)模式,但实际上Django的架构细节稍有不同,尤其是在控制器角色的处理上,它由框架本身更自动化地管理。

Django无需数据库就可以使用,它提供了对象关系映射器,通过此技术,我们可以使用Python代码来描述数据库结构。使用强大的数据-模型语句来描述数据模型。

关键特点:

  1. 快速开发:Django提供了一系列现成的工具和功能,比如内置的后台管理界面、数据库迁移工具、表单处理、用户认证系统等,这大大加速了开发进程。
  2. 安全性: Django 非常重视安全性,它提供多种防御措施来帮助开发者避免常见的web安全漏洞,如SQL注入、跨站脚本(XSS)和跨站请求伪造(CSRF)等。
  3. 可扩展性:Django架构设计支持模块化,应用可以方便地被拆分成多个独立的组件(称为app),易于维护和扩展。
  4. 强大的数据库抽象:Django使用一个强大的对象关系映射(ORM),允许开发者使用Python代码而不是SQL来操作数据库。
  5. 模板系统:Django包含一个简洁的模板语言,让设计师和开发者可以清晰地分离业务逻辑和表现层。
  6. URL调度:Django有一个灵活的URL路由系统,可以将URL映射到视图函数,便于控制应用程序的导航结构。
  7. 社区与生态系统: Django 拥有一个庞大且活跃的开发者社区,提供了丰富的第三方插件和库,几乎覆盖了web开发的所有方面。

Django 最初由 Lawrence Journal-World 新闻网站为快速开发内容管理系统而创建,后来于2005年开源。它的名字来源于吉普赛爵士吉他手 Django Reinhardt,体现了项目对优雅和效率的追求。

目录

Django简单介绍

关键特点:

一、使用Anaconda创建Python虚拟环境

一、使用cmd创建虚拟环境

1、创建虚拟环境

2、激活虚拟环境

3、安装Django

4、创建一个新的Django(在刚刚创建的虚拟环境下)

命令窗口运行django项目

二、用Pycharm编译器打开

Pycharm终端启动服务器

我们一般创建一个django会在一个虚拟环境下,这样各自的django项目不会相互影响,可以自由选择版本下载库。

一、使用Anaconda创建Python虚拟环境

那么创建一个虚拟环境首先,我们在使用命令在anaconda创建

首先 正确初始化Conda,命令:

conda init

如果没有在命令窗口初始化conda,那么我们在shell会话中就无法与Conda集成,也无法激活Conda环境

一、使用cmd创建虚拟环境

1、创建虚拟环境

我们这里创建一个名为:myproject虚拟环境

conda create -n myproject  # myproject就是虚拟环境名
# 如果需要指定python版本的话
conda create -n your-projectname=3.11.7

2、激活虚拟环境

conda activate myproject

3、安装Django

在激活的虚拟环境中,使用pip安装Django

pip install Django

安装后,确认Django版本:

django-admin --version

4、创建一个新的Django(在刚刚创建的虚拟环境下)

在你希望django项目存放的文件夹目录下,运行以下命令:

django-admin startproject myproject

这将创建一个名为myproject的文件夹,其中包含Django项目的基本结构

命令窗口运行django项目

进入项目目录,运行

python manage.py runserver

用浏览器打开

进入django页面

二、用Pycharm编译器打开

项目结构如下:

记得设置项目虚拟环境,设置方法如下:

Pycharm终端启动服务器

打开终端 首先还是激活虚拟环境,定位到项目目录下,运行下列命令:

python manage.py runserver

相关文章:

  • flink源码系列:RPC通信
  • Stable Diffusion 如何写出更优雅的 Prompt
  • Java数据结构与算法(盛水的容器贪心算法)
  • SQL 基础入门教程
  • 优化yarn在任务执行时核数把控不准确的问题
  • 席卷的B站《植物大战僵尸杂交版》V2.0.88整合包,PC和手机可用,含通关存档和视频教程!
  • Ant-design-vue开源项目介绍、应用场景、组件有哪些
  • 单目标应用:基于三角拓扑聚合优化算法TTAO的微电网优化(MATLAB代码)
  • 【后端】Java学习笔记(二周目-1)
  • 【多模态/CV】图像数据增强数据分析和处理
  • 网络规划与设计知识整理
  • 【车载音视频电脑】嵌入式AI分析车载DVR,支持8路1080P
  • route 网关添加查看和删除
  • MySQL基础---库的操作和表的操作(配着自己的实操图,简单易上手)
  • CAPL如何在底层模拟TCP Server端建立TCP连接
  • 10个确保微服务与容器安全的最佳实践
  • 2018一半小结一波
  • Java多态
  • Rancher如何对接Ceph-RBD块存储
  • Spring Boot快速入门(一):Hello Spring Boot
  • webpack4 一点通
  • 给github项目添加CI badge
  • 解决iview多表头动态更改列元素发生的错误
  • 近期前端发展计划
  • 前端存储 - localStorage
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 小程序开发中的那些坑
  • !!Dom4j 学习笔记
  • # SpringBoot 如何让指定的Bean先加载
  • #define
  • #Ubuntu(修改root信息)
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (06)Hive——正则表达式
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (poj1.2.1)1970(筛选法模拟)
  • (Python第六天)文件处理
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (四)Linux Shell编程——输入输出重定向
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • . NET自动找可写目录
  • .net6使用Sejil可视化日志
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .Net多线程总结
  • .NET连接数据库方式
  • [100天算法】-目标和(day 79)
  • [20180312]进程管理其中的SQL Server进程占用内存远远大于SQL server内部统计出来的内存...
  • [2023-年度总结]凡是过往,皆为序章
  • [AS3]URLLoader+URLRequest+JPGEncoder实现BitmapData图片数据保存
  • [bzoj4240] 有趣的家庭菜园
  • [CC2642R1][VSCODE+Embedded IDE+IAR Build+Cortex-Debug] TI CC2642R1基于VsCode的开发环境
  • [Cloud Networking] Layer3 (Continue)
  • [Electron] 将应用打包成供Ubuntu、Debian平台下安装的deb包
  • [Firefly-Linux] RK3568修改控制台DEBUG为普通串口UART
  • [GXYCTF2019]BabyUpload1 -- 题目分析与详解