【Django入门】第一个Django项目

Django,广为人知的Python Web框架,以其强大而又灵活的特点脱颖而出。其宣传口号是:"为完美主义者开发的框架"。这篇文章将为你揭示创建第一个Django项目的魔法以及Django项目的基本结构。

为什么选择Django?

在深入学习前,我们先看看为什么要选择Django:

  • 快速开发:Django遵循"约定优于配置"的原则,使得开发者能够专注于编写应用,而不是配置框架。
  • 安全性:Django具有内置的安全特性,可以帮助开发者避免常见的安全错误,如SQL注入、跨站脚本等。
  • 丰富的功能:Django自带了一个强大的ORM(对象关系映射)、Admin界面、认证系统等,减少了开发者从零开始构建这些功能的需要。

创建你的第一个Django项目

安装Django

打开CMD终端后输入pip install django

命令创建

在安装了Django后,你可以使用以下命令来创建你的第一个Django项目:

powershell 复制代码
django-admin startproject myproject

此命令将生成一个名为myproject的文件夹,它是你Django项目的根目录。

Pycharm创建

  1. 打开Pycharm界面,点击创建项目
  1. 选择Django,然后指定创建的文件夹,项目名称myproject,然后在existing interpreter中指定该项目所使用的的Python解释器,默认是使用你本地环境的,如果您设置了虚拟环境也可以设置成虚拟环境。


Django项目结构介绍

当你创建一个新的Django项目后,你会看到以下文件和文件夹结构:

shell 复制代码
myproject/
|-- manage.py
|-- myproject/
    |-- __init__.py
    |-- settings.py
    |-- urls.py
    |-- asgi.py
    |-- wsgi.py

我们一一解释每个文件和目录的作用:

  • manage.py:这是一个命令行工具,可以让你以各种方式与Django项目进行交互,例如运行服务器、创建数据库表等。
  • myproject/init.py:一个空文件,告诉Python这个目录应该被视为一个Python包。
  • myproject/settings.py:Django项目的配置文件。这里包括了数据库配置、应用注册、中间件、模板设置等。
  • myproject/urls.py:定义了项目的URL模式。每个URL都会映射到一个特定的视图函数。
  • myproject/asgi.py & wsgi.py:这两个文件用于项目的部署。asgi.py用于ASGI服务器,而wsgi.py用于WSGI服务器。

运行Django

在Pycharm中当我们配置好相关Django环境后,点击右上角小三角,运行系统,然后在pycharm的输出终端中点击:127.0.0.1:8000,会自动打开默认浏览器,这是一个初始的Django界面运行成功啦。


【注意】Django4.0的版本可能存在报错情况(NameError: name 'os' is not defined),这个在setting.py文件中加上一行import os即可

相关推荐
小王C语言11 分钟前
MySQL 内置函数:日期函数、字符串函数、数学函数、其他函数
数据库·mysql
ClouGence1 小时前
当 AI 开始直接操作数据库,传统数据库管理工具还有必要吗?
数据库·后端·agent
IT学长编程1 小时前
计算机毕业设计 基于用户评论主题挖掘的旅游景点推荐系统 Python 大数据毕业设计 Hadoop毕业设计选题【附源码+文档报告+安装调试】
大数据·python·django·毕业设计·数据可视化分析·旅游景点推荐系统·基于用户评论主题挖掘
Hugh-Yu-1301232 小时前
zhangxuefeng-skill配置教程
数据库
布莱克6052 小时前
理解B+树:原理、特性与应用场景
数据结构·数据库·mysql
冰暮流星2 小时前
mysql之排序查询
数据库·mysql
7177772 小时前
让权限治理成为可复制资产:Gitee Team 空间配置方案与安全级别落地详解
数据库·gitee
今天AI了吗2 小时前
Agent & AI 名词大扫盲
数据库·人工智能·python·sql·rust
葡萄城技术团队2 小时前
告别宽表拖拽:SpreadJS 如何让 Web 表格承接 Excel 操作习惯
数据库·html·excel
2603_966437263 小时前
格式化之后数据还能恢复吗?说清恢复条件
linux·运维·数据库