Django入门 项目Day1

入门Django项目

Day1

Django 是一个使用 Python 编写的开源 Web 应用程序框架,它提供了一套用于快速开发安全、 可扩展和高效的 Web 应用程序的工具和功能。Django 基于 MVC(Model-View-Controller)架构模式,采用了最佳实践,强调代码的可重用性和可维护性。它的设计理念是 DRY(Don't Repeat Yourself), 通过提供许多内置功能和现成的解决方案,使开发人员能够专注于业务逻辑而不必从头开始构建所有组件。此次开源项目旨在为大家讲解基础的 Django 项目创建, 以及简单程序的编写。

该项目示例是一个商品入库和查询系统,通过我们构建的数据表,将商品的详细信息入库存储,并且可以按条件过滤查询数据,获取详细商品或者商品品类的信息。

(1)配置django虚拟环境

首先需要在pycharm中新配置一个环境;(这里不过多赘述)

在环境中安装项目的相关依赖: 将下面依赖放到requirements.txt文件中:

ini 复制代码
decorator==5.1.1
Django==4.2.3
django-debug-toolbar==4.1.0
django-extensions==3.2.3
django-filter==23.2
django-rest-framework==0.1.0
djangorestframework==3.14.0
drf-spectacular==0.26.3

由于某些依赖下载速度过于缓慢,所以需要更换清华源配置。 pip install -r requirements.txt -i pypi.tuna.tsinghua.edu.cn/simple 接下来就可以利用该环境创建项目了。

(2)搭建项目

首先在pycharm中打开terminal进行项目的创建 用命令:django-admin startproject projectname(projectname是你的项目名字可自由更替)

这里我的项目名字为djangoproject,cd djangoproject进入项目目录。

接下来开始创建app,然后用命令:django-admin startapp appname创建应用 ,appname是我们的应用名字,随便都可以,我这里是firstdjango。

我们一般在项目目录下创建apps文件夹用来存放app应用。所以我们把firstdjango文件夹移到apps文件夹中。

所以最后整个项目结构是这样的:

接下来进入apps.py修改name变量:

python 复制代码
修改前:
name = "firstdjango"
修改后:
name = "apps.firstdjango"

(3)项目组成

在运行上文的命令后项目自动生成了

  • 项目名文件夹
  • 子目录下同名子文件夹
  • manage.py文件

manage.py提供了一种命令行工具,允许你以多种方式与该Django项目进行交互。如:python manage.py help,能列出它所能做的事情。注意,此文件一般情况下不需要改动。

(4)子目录文件组成

  • init.py: 是一个空文件,作用是所在的这个目录可以被当作包使用。
  • settings.py:该Django项目整体配置文件。(该文件非常重要,建议认真理解这个文件中可用的设置类型及其默认值。)
  • urls.py:Django项目的URL设置。可视其为你的django网站的目录。
  • asgi.py与wsgi.py:常见的网关接口协议:CGI,FastCGI,WSGI,ASGI。asgi.py是异步服务器网关接口项目配置文件。ASGI描述了Python Web应用程序和Web服务器之间的通用接口。与WSGI不同的是,ASGI允许每个应用程序有多个异步事件。另外,ASGI支持同步和异步应用程序。开发人员可以将原有的同步WSGI Web应用程序迁移到ASGI,也可以使用ASGI构建新的异步Web应用程序。

apps该文件夹下自动生成了

init.py 是一个空文件,作用同前。

admin.py文件跟网站的后台管理相关。

models.py文件跟数据库操作相关。主要用一个 Python 类来描述数据表。运用这个类,你可以通过简单的 Python 的代码来创建、检索、更新、删除 数据库中的记录而无需写一条又一条的SQL语句。

views.py 包含了页面的业务逻辑,接收浏览器请求,进行处理,返回页面操作相关。

tests.py文件用于开发测试用例,在实际开发中会有专门的测试人员使用。

apps.py文件夹是django1.10之后增加的,通常里面包含对应用的配置。

migrations:django 1.8之后推出的migrations机制使django数据模式管理更容易。migrations机制有两个指令,makemigrations和migrate。makemigrations指令是用models里面的model和当前的migrations代码里面的model做对比,如果有新的修改,就生成新migrations代码。migrate指令是用migrations目录中代码文件和django数据库django_migrations表中的代码文件做对比,如果表中没有,那就对没有的文件按顺序及依赖关系做migrate apply,然后再把代码文件名加进migrations表中。

migrations文件夹里面自动生成了_init_.py文件

(5)运行项目

首先设置一下setting.py文件,在INSTALLED_APPS字段加入以下安装的库:

python 复制代码
"apps.firstdjango",
"rest_framework",
'django_filters',
'drf_spectacular'

启动项目: 运行项目先执行数据库相关操作,再启动 django 项目

启动Django服务

python manage.py runserver

ok,这样子就启动我们的项目了,今天就先到这里了

相关推荐
王二端茶倒水9 分钟前
大龄程序员兼职跑外卖第五周之亲身感悟
前端·后端·程序员
夜色呦1 小时前
现代电商解决方案:Spring Boot框架实践
数据库·spring boot·后端
爱敲代码的小冰1 小时前
spring boot 请求
java·spring boot·后端
java小吕布2 小时前
Java中的排序算法:探索与比较
java·后端·算法·排序算法
Goboy3 小时前
工欲善其事,必先利其器;小白入门Hadoop必备过程
后端·程序员
李少兄3 小时前
解决 Spring Boot 中 `Ambiguous mapping. Cannot map ‘xxxController‘ method` 错误
java·spring boot·后端
代码小鑫4 小时前
A031-基于SpringBoot的健身房管理系统设计与实现
java·开发语言·数据库·spring boot·后端
Json____4 小时前
学法减分交管12123模拟练习小程序源码前端和后端和搭建教程
前端·后端·学习·小程序·uni-app·学法减分·驾考题库
monkey_meng4 小时前
【Rust类型驱动开发 Type Driven Development】
开发语言·后端·rust
落落落sss4 小时前
MQ集群
java·服务器·开发语言·后端·elasticsearch·adb·ruby