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,包括数据库、中间件、登录注册等等。

相关推荐
努力努力再努力wz25 分钟前
【MySQL进阶系列】一文打通事务机制:从锁、Undo Log 到 MVCC 与隔离级别
c语言·数据结构·数据库·c++·mysql·算法·github
PaperData42 分钟前
2000-2025年《中国县域统计年鉴》pdf+excel版(附赠面板数据)
数据库·人工智能·数据分析·pdf·经管
冷小鱼1 小时前
从关系模型(SQL)基石到AI与信创时代的智能查询语言
数据库·sql
LLON erva1 小时前
Redis-配置文件
数据库·redis·oracle
童话ing1 小时前
【Redis】026 互联网大厂 Redis 面试高频题
数据库·redis·面试
钰衡大师1 小时前
Activiti 7 工作流技术文档
java·数据库·spring boot
Treh UNFO1 小时前
nginx的重定向
大数据·数据库·nginx
jvvz afqh1 小时前
mysql用户名怎么看
数据库·mysql
eDEs OLDE1 小时前
CC++链接数据库(MySQL)超级详细指南
c语言·数据库·c++
EXnf1SbYK1 小时前
Redis分布式锁进阶第八篇:锁超时乱序深度踩坑 + 看门狗失效真实溯源 + 业务长耗时标准化兜底方案
数据库·redis·分布式