PyCharm创建一个简单的Django项目

1.Django简介

Django 是一个开放源代码的 Web 应用程序框架,由 Python 编写而成。它遵循 MVC(模型-视图-控制器)的软件设计模式,采用了 MTV(模型-模板-视图)的架构。Django 的设计目标是使开发复杂的、数据库驱动的 Web 站点变得简单。它提供了许多功能强大且易于使用的工具,如自动生成管理界面、表单处理、URL 映射等,使开发人员能够专注于业务逻辑而不是繁琐的编程细节。

Django 的特点包括:

  • 强大的功能:Django 提供了许多内置的功能和工具,如自动生成管理界面、表单处理、认证系统等,使开发变得更加高效。
  • 灵活性:Django 允许开发者根据项目需求进行定制,同时提供了丰富的第三方插件和应用程序,扩展框架功能。
  • 安全性:Django 注重安全性,提供了内置的安全功能来防止常见的 Web 攻击,保护用户数据和应用程序安全。
  • 易于学习:Django 的文档详尽且易于理解,同时拥有活跃的社区支持,使得新手开发者能够快速上手并解决问题。
  • 多语言支持:Django 支持多语言和国际化,使开发多语言站点变得更加容易。
  • MTV 架构:Django 使用 MTV(模型-模板-视图)的架构,将数据模型、用户界面和业务逻辑分离,使代码结构清晰易懂。
  • 社区支持:Django 拥有庞大的开发者社区,提供了丰富的资源和支持,帮助开发者解决问题并学习框架最佳实践。

2. 创建一个项目

这里我们选择自带的虚拟环境

配置解释器,然后下载Django的package。

这里可以选择版本,我就默认的选择最新版本了。

下载完成之后,我们来创建Django项目。

3.创建Django项目

在左下角的终端中输入命令 ** django-admin startproject myweb**

然后就会生成一个目录如下的myweb Python package

接着再进入到myweb目录,启动项目

命令: python manage.py runserver

打开8000端口,显示如下就证明项目已经跑起来了。

4.创建app

创建一个新的app,命令如下:

复制代码
python manage.py startapp myapp

成功后会得到如下的目录:

接下来给app创建urls文件,可以之间复制myweb的urls文件。

PS:

在Django框架中,myweb通常指的是整个Web项目,而myapp则是指这个项目中的一个独立的应用(功能模块)。具体来说:
1.Django项目(myweb):这是一个包含一个或多个应用的Web应用整体。它负责整体的URL路由、配置文件设置、静态文件管理等。在Django中,每个项目至少有一个名为manage.py的管理脚本,用于项目的管理工作,如运行服务器、数据库迁移等。
2.Django应用(myapp):这相当于项目中的模块化组件,每个应用都是一个Python包,包含了模型(Models)、视图(Views)、模板(Templates)和URL配置等。应用是独立可复用的,你可以将其视为完成特定功能(如博客、论坛、购物车等)的代码集合。

5.Hello world!

给myapp创建好urls之后,在views创建一个 hello 的方法。

然后再去urls里面配置相应的路由

现在我们去访问/hello 接口,看能不能成功。

很显然,404,这是为啥呢?因为我们没有在myweb的urls里面配置myapp的路由。

配置myapp的路由:

把路由加上再访问一次看看!(这里我只是把方法名称改了,不影响)

到这里一个简单的django项目就完成了!

接下来会慢慢更新一些小demo,包括数据库、中间件、登录注册等等。

相关推荐
物联网软硬件开发-轨物科技20 分钟前
【轨物方案】告别“盲维”时代:如何不动一根电线,帮老旧电站找回消失的 5% 收益?
服务器·网络·数据库
司沐_Simuoss31 分钟前
Text to SQL系统的千层套路~
数据库·人工智能·sql·语言模型·系统架构
ptc学习者32 分钟前
验证mysql RR隔离水平,并未完全实现防止幻读的实验
数据库
qq_12498707531 小时前
基于协同过滤算法的运动场馆服务平台设计与实现(源码+论文+部署+安装)
java·大数据·数据库·人工智能·spring boot·毕业设计·计算机毕业设计
数据知道1 小时前
PostgreSQL 核心原理:读已提交与可重复读的底层实现差异(事务隔离级别)
数据库·postgresql
crossaspeed1 小时前
MySQL的MVCC
数据库·mysql
2401_857683542 小时前
为你的Python脚本添加图形界面(GUI)
jvm·数据库·python
luoluoal2 小时前
基于opencv的疲劳检测系统(源码+文档)
python·mysql·django·毕业设计·源码
m0_706653232 小时前
使用Python自动收发邮件
jvm·数据库·python
松涛和鸣2 小时前
DAY67 IMX6 Development Board Configuration from Scratch
数据库·postgresql·sqlserver