【从零开始学Django篇001】从创建一个新的Django项目开始

news2024/9/25 15:28:05

🍁前言

👑:👉CSDN博客园

🏆流:👉在下周周ovoの社区

💎从零开始学Django系列专栏:👉Django系列专栏

在这个专栏,大概会从零开始了解到大部分的Django知识点。比如说 Django模板语言,路由系统,视图系统,中间件,AJAX,浏览器的同源策略及使用JSONP和CORS跨域,REST framework认证权限和限制等等的一些由浅入深的知识

这个专栏前期大概会使用Django实现如下界面的大部分功能,以及基本的登入注册功能

 

上面的界面是基于bootstrap实现的响应式界面,也是比较简单的。暑假也打算用一点时间去学习下Vue的相关知识,重新再写一遍上面的界面

 

文章目录

🍁前言

🍁一、安装Django

🍁二、新建Django项目

🍁三、修改配置文件中的配置项

🍃3.1、配置自定义应用程序

🍃3.2、配置自定义的数据库

🍃3.3、配置静态文件的路径 

🍃3.4、结语


🍁一、安装Django

打开CMD窗口输入以下命令:

pip3 install  Django -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn scikit-learn

直接输入上面的命令的前提是确保你的pip3的路径已经添加于系统变量中

详细的安装方法看这篇文章 👉

安装完后确认一下

django-admin --version

🍁二、新建Django项目

 1、找到新建项目的选项

2、确保你的pycharm是专业版本,然后按下面的步骤来

3、选择新窗口打开

4、创建好的项目,层级结构以及相关文件的作用介绍

demo_web/           # 项目根目录
├── manage.py      # Django命令行工具
├── demo_web/      # 项目配置文件和主应用程序目录
│   ├── __init__.py
│   ├── settings.py # 项目配置文件
│   ├── urls.py     # URL配置文件
│   └── wsgi.py     # WSGI应用程序入口
└── templates/      # HTML模板目录
    └── ...

 

目录文件介绍:

  • demo_web/: 项目根目录,是整个项目的最顶层目录,包含了项目的配置和主要的应用程序。
    • manage.py: Django 命令行工具,用于执行各种 Django 命令,如运行开发服务器、创建数据库等。
    • demo_web/: 项目配置文件和主应用程序目录。
      • __init__.py: 标识该目录为一个 Python 包。
      • settings.py: 项目的配置文件,包含了项目的各种设置,如数据库设置、静态文件路径、应用程序列表等。
      • urls.py: URL 配置文件,定义了 URL 与视图函数之间的映射关系。
      • wsgi.py: WSGI 应用程序入口,用于在部署时与 Web 服务器进行通信。
  • templates/: HTML 模板目录,用于存放项目中使用的 HTML 模板文件。

这些目录和文件在 Django 项目中起着不同的作用:

  • manage.py 是一个命令行工具,可以执行各种 Django 命令,如启动开发服务器、创建数据库等。
  • demo_web/ 目录是项目的配置和主要应用程序的目录,其中的 settings.py 文件包含了项目的配置信息,urls.py 定义了 URL 路由规则,wsgi.py 是与 Web 服务器通信的入口文件。
  • templates/ 目录用于存放 HTML 模板文件,这些模板文件定义了项目中的页面结构和内容,可以通过视图函数动态地渲染生成最终的 HTML 页面。

🍁三、修改配置文件中的配置项

🍃3.1、配置自定义应用程序

关于如何创建自定义应用程序,下一篇博客会写,现在可以先不配置

添加 "bookapp.apps.BookappConfig"INSTALLED_APPS 列表中,使得 Django 能够加载和使用你的自定义应用程序。

通过添加 "bookapp.apps.BookappConfig"INSTALLED_APPS 列表中,注册了一个名为 "bookapp" 的自定义应用程序。"bookapp.apps.BookappConfig" 是应用程序配置类的路径,它告诉 Django 如何加载和配置该应用程序。

通过将自定义应用程序添加到 INSTALLED_APPS 列表中,你可以在项目中使用该应用程序提供的模型、视图、URL 路由、静态文件等功能。这样,Django 将能够正确识别和处理你的自定义应用程序中的代码和文件。

🍃3.2、配置自定义的数据库

关于如何使用Django中的ORM框架,之后的博客也会写,现在可以先不配置

 代码如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'your_database_name',
        'USER': 'your_username',
        'PASSWORD': 'your_password',
        'HOST': 'your_host',
        'PORT': 'your_port',
    }
}
  • ENGINE:数据库引擎,指定要使用的数据库类型和驱动程序。
  • NAME:数据库名称,指定要连接的数据库的名称。
  • USER:数据库用户名,用于连接数据库的身份验证。
  • PASSWORD:数据库密码,用于连接数据库的身份验证。
  • HOST:数据库主机地址,指定数据库服务器的主机名或IP地址。
  • PORT:数据库端口号,指定数据库服务器的端口。

🍃3.3、配置静态文件的路径 

在主目录下创建一个名为static的目录,你可以将所有的静态文件(如CSS、JavaScript和图像文件)放在指定的static文件夹中【最好一开始就配置号】

 配置static文件夹路径

代码如下:

# 将所有的静态文件(CSS/js/图片)都放在我下面你配置的文件夹中
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')
]

 

  1. STATIC_URL = "static/": 这个设置指定了静态文件的URL前缀。当你在模板或视图中引用静态文件时,可以使用这个URL前缀来构建静态文件的URL。例如,如果有一个名为style.css的CSS文件,其完整的URL将是/static/style.css

  2. STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]:这个设置指定了存储静态文件的文件夹路径。在这个例子中,静态文件存储在项目根目录下的static文件夹中。通过将这个路径添加到STATICFILES_DIRS列表中,Django将在查找静态文件时搜索这个文件夹。

通过以上设置可以使你的应用程序能够正确地提供静态文件,并在开发和部署过程中更加灵活。

🍃3.4、结语

当然上面只是一小部分的基础配置项,以后也可以根据不同的场景自行配置,关于上面配置项的具体实现,接下来的博客也会介绍

 

上篇文章是第一期含有图书抽奖活动,没参与赠书活动的可以看看:👉​​​​​​​点此进入​​​​​​​

 618,清华社IT BOOK多得图书活动开始啦!活动时间为2023年6月7日至6月18日,清华 社为您精选多款高分好书,涵盖了 C++、Java、Python.前端、后端、数据库、算法与机器学习等多 个IT开发领域,适合不同层次的读者。全场5折,扫码领券更有优惠哦!快来京东点击链接IT BOOK 多得(或扫描京东二维码)查看详情吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/638214.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

后端-基于JdbcTemplate的数据库连接和使用

1、application.properties中进行数据库配置 spring.datasource.single.urlxxxx?useUnicodetrue&characterEncodingutf-8 spring.datasource.single.usernamexxx spring.datasource.single.passwordxxx spring.datasource.single.typecom.alibaba.druid.pool.DruidDataSou…

如何通过自养号测评在TEMU跨境电商平台中获取更大市场份额

2023年可谓是TEMU跨境电商平台的元年。自从2022年8月17日拼多多宣布将筹备跨境电商平台以来,TEMU犹如烈火燎原,迅速蔓延全球。9月1日,首站TEMU在北美市场正式上线,平台名称取意“Team Up,Price Down”,紧扣…

Easyui05补充

1.后台. 今天我们的主要任务是完成增加功能; 1.1BookDao. 1.2BookAddServlet. 注意,这里创建 Book对象赋值的时候,如果调用构造函数,那么所调用的构造函数里面 bookName属性赋值的时候必须调用 setBookName方法进行赋值&#xf…

从零开始Vue项目中使用MapboxGL开发三维地图教程(二)Mapbox地图样式

Mapbox地图样式 1、Mapbox地图样式定义2、Mapbox默认地图样式3、Mapbox地图样式对象4、切换地图样式的案例 1、Mapbox地图样式定义 Mapbox地图样式:按照Mapbox地图样式规范中描述的模式定义的一个JSON对象,或者是此类JSON的URL。可以接受null值以允许手动…

【图像处理】图像白平衡处理

一、说明 这就是我们今天要说的——图像增强!图像增强由一组用于优化图像的技术组成。这样,图像在视觉上变得更容易被人类感知,这反过来将进一步促进改进的图像处理分析。图像增强处理技术包括以下几种: 傅里叶变换 白平衡 直方…

python开发的连连看小游戏

说明: 1.在网上找了一个基础版本改进而来,大概增加了200行代码,相对原版要复杂了一些; 2.界面采用tkinter开发,比较简单; 3.新增了连接连功能; 4.新增了积分功能; 5.新增了陷入…

python套接字(一):socket的使用

文章目录 前言一、什么是套接字?二、python中套接字的常用方法三、使用1、服务器端代码2、客户端代码 前言 最近研究了一下python的socket的使用,特此记录下来,方便以后参考。 一、什么是套接字? 套接字(Socket),就…

线上展览平台平台有哪些?蛙色3D虚拟展厅平台简介

导语: 随着科技的飞速发展和全球化的趋势,线上展览平台正日益受到关注和重视。它们成为了传统展览方式的有力补充,为各行业提供了一个全新的展示和交流平台。 我们将一起探索当今主流的线上展览平台,并重点介绍蛙色3D虚拟展厅平台…

jmeter如何将上一个请求的结果作为下一个请求的参数

目录 1、简介 2、用途 3、下载、简单应用 4、如何将上一个请求的结果作为下一个请求的参数 1、简介 在JMeter中,可以通过使用变量来将上一个请求的结果作为下一个请求的参数传递。 ApacheJMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测…

网络安全(黑客)怎么自学?

最近看到很多问题,都是小白想要转行网络安全行业咨询学习路线和学习资料的,作为一个培训机构,学习路线和免费学习资料肯定是很多的。机构里面的不是顶级的黑阔大佬就是正在学习的同学,也用不上这些内容,每天都在某云盘…

Win10系统怎么设置滑动打开组合框?

Win10系统怎么设置滑动打开组合框?Win10系统戏中用户想要设置一下滑动打开组合框,但不知道怎么操作,用户需要打开Win10系统的高级系统设置选项,点击高级选项找到视觉效果选项,勾选滑动打开组合框选项保存即可。 解决方…

Unity入门3——脚本基础

一、生命周期函数 ​ 所有继承 MonoBehavior 的脚本,最终都会挂载到 GameObject 游戏对象上 ​ 生命周期函数就是该脚本对象依附的 GameObject 对象从出生到消亡整个生命周期中 ​ 会通过反射自动调用的一些特殊函数 ​ Unity 帮助我们记录了一个 GameObject 对象依…

OpenShift Route 的实现原理

OpenShift Route 的实现原理 OpenShift 如何使用 HAProxy 实现 Router 和 RouteRouter appHAProxy 配置1. HTTP2. HTTPS OpenShift 中的 Route 解决了从集群外部访问服务的需求,与 Kubernetes 中的 Ingress 类似。 OpenShift 中 Route 资源 API 定义如下&#xff1…

解剖学关键点检测方向论文翻译和精读:基于热力图回归的CNN融入空间配置实现关键点定位

解剖学关键点检测方向论文翻译和精读:Integrating spatial configuration into heatmap regression based CNNs for landmark localization Abstract: In many medical image analysis applications, only a limited amount of training data is available due to t…

Pyinstaller 打包 paddle出现的问题

目录 问题解决方法 1.找到自己项目所需要的包 2.使用【auto-py-to-exe】库,添加对应项目对应的包 --add-data 需要添加的文件 --hidden-import 需要添加的文件 问题来源 问题解决思路 问题解决方法 1.找到自己项目所需要的包 这里可以参考博主的另外一篇文章&…

大模型当私人法律顾问?北大团队推出法律大模型,数据与模型全部开源!

作者 | 小戏、Python “要是我有一个学法的朋友就好了” 法律作为我们社会生活的最高指引,其重要性毋庸多言。然而类似于医学,法律又是一个入行门槛非常高的专业领域,想想通过率不到 10% 的法考,显然遇到法律相关的专业问题不太支…

mysql中SQL语句查询字段相加的和,以及更改小数精确位。和查询SQL语句结果相减的SQL查询

最近在工作中碰到了SQL进行查询,用户缴费以及退费信息的工作,以及查询完后需要修改SQL结果后小数位的需求,整理结果如下: 首先,看内容: 如图,operate_type代表缴费与退费,分别用0和1区别。 #…

快速教你如何使用postman工具进行接口测试?(配置全局token、JWT可用)

现在很多人都在使用前后端分离进行项目开发,那在后端开发过程中使用postman测试工具可快速便捷完成接口测试。但是在测试过程中,很多人发现因为JWT的鉴权,导致半个小时就需要更新一下token,让我们的测试变得复杂。 若是将token作…

【JUC中的 “8锁现象” 】 —— 每天一点小知识

💧 J U C 中的“ 8 锁现象” \color{#FF1493}{JUC中的 “8锁现象” } JUC中的“8锁现象”💧 🌷 仰望天空,妳我亦是行人.✨ 🦄 个人主页——微风撞见云的博客🎐 🐳 《数据结构与算法》…

python基础学习3【NumPy矩阵与通用函数【矩阵相乘+平方+广播机制+转置】+ save、load、sort、repeat、unique、鸢尾花1】

NumPy矩阵与通用函数 a np.mat([[1,2],[3,4]])#生成矩阵b np.matrix([[1,7],[6,4]])np.bmat("a b") 矩阵的运算 矩阵特有属性: 属性 说明 T自身转置H共轭转置I逆矩阵A自身数据的二维数据视图 例如: np.matrix(a).T 矩阵相乘:…