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

相关推荐
wrx繁星点点12 分钟前
事务的四大特性(ACID)
java·开发语言·数据库
小小娥子41 分钟前
Redis的基础认识与在ubuntu上的安装教程
java·数据库·redis·缓存
DieSnowK43 分钟前
[Redis][集群][下]详细讲解
数据库·redis·分布式·缓存·集群·高可用·新手向
-XWB-1 小时前
【MySQL】数据目录迁移
数据库·mysql
老华带你飞1 小时前
公寓管理系统|SprinBoot+vue夕阳红公寓管理系统(源码+数据库+文档)
java·前端·javascript·数据库·vue.js·spring boot·课程设计
我明天再来学Web渗透2 小时前
【hot100-java】【二叉树的层序遍历】
java·开发语言·数据库·sql·算法·排序算法
Data 3172 小时前
Hive数仓操作(十一)
大数据·数据库·数据仓库·hive·hadoop
吱吱鼠叔2 小时前
MATLAB数据文件读写:2.矩阵数据读取
数据库·matlab·矩阵
掘根3 小时前
【MySQL】Ubuntu环境下MySQL的安装与卸载
数据库·mysql·centos