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

相关推荐
IT小白杨几秒前
TikTok小店防封号浏览器实战:2026年多店铺环境隔离与账号安全运营技术解析
开发语言·数据库·安全·php·chrome devtools·指纹浏览器
祢真伟大4 分钟前
Oracle含LOB大字段表的存储占用统计
数据库·oracle
Inhand-Victor22 分钟前
从 CAN 总线到 AWS IoT:EC312 边缘计算网关实现 CAN 数据云端接入
数据库
活跃的煤矿打工人36 分钟前
【星海出品】SQLite的进阶操作
数据库·sqlite
云祺vinchin42 分钟前
医疗行业灾备实践:一套方案实现HIS、EMR、PACS系统安全闭环
数据库·安全·数据备份·医疗安全·容灾备份
Mr数据杨43 分钟前
【Codex】用智能助手问题反馈模块收集AI使用问题
人工智能·django·codex·项目开发
梦想不只是梦与想1 小时前
MySQL 中的窗口函数
数据库·mysql·窗口函数
严同学正在努力1 小时前
Oracle数据技术运维大全(下篇)
运维·数据库·ai·oracle·架构
catino2 小时前
spring-事务@Transactional
java·数据库·spring