【邂逅Django】——(一)创建项目

🔥 邂逅Django – 目录

✅ Part 1:【邂逅Django】—— (一)创建项目

🛠️ Part 2:【邂逅Django】—— (二)数据库配置

🛠️ Part 3:【邂逅Django】—— (三)视图

🛠️ Part 4:【邂逅Django】—— (四)表单和通用视图

🛠️ Part 5:【邂逅Django】—— (五)完善界面(自定义界面和样式)

🛠️ Part 6:【邂逅Django】—— (六)自定义管理界面

🛠️ Part 7:【邂逅Django】—— (七)自动化测试

🎈 前言

本系列文章,在 Django官方文档教程的基础模板下,进行了一定的改进和删除(对模板相关内容不进行讲解),添加了一些自己的见解。

希望大家看完该系列文章后,对 Django能够有一个清晰的认识。

路漫漫兮其修远兮,吾将上下而求索!

Django官方文档:https://www.djangoproject.com/

❗ ❗ ❗ 学习过程中,多看官方文档,可以解决很多问题 ❗ ❗ ❗

本教程使用 poetry对项目环境进行管理。
相关 poetry的安装与使用,请参考【Python – 虚拟环境】项目的启动,从隔离开发环境开始 – CoderChaos – 博客园 (cnblogs.com)

项目地址:https://github.com/CoderBerryRabbit/MeetDjango

一、环境说明

  • 开发环境: MacbookPro M1
  • 开发工具: PyCharm
  • Python版本: 3.9.x
  • Django版本: 3.2.x
  • 虚拟环境&包管理工具: poetry

二、创建项目

2.1 🌊 安装依赖

poetry add django@^3.2.13

2.2 🌊 查看 Django 版本

python -m django --version
或
django-admin --version

2.3 🌊 Django 版本和 Python 版本对照表

Django

版本 Python

版本 2.2 3.5、3.6、3.7、3.8(在 2.2.8 中添加)、3.9(在 2.2.17 中添加) 3.0 3.6、3.7、3.8、3.9(在 3.0.11 中添加) 3.1 3.6、3.7、3.8、3.9(在 3.1.3 中添加) 3.2 3.6、3.7、3.8、3.9、3.10(在 3.2.9 中添加) 4.0 3.8、3.9、3.10

2.4 🌊 创建 Django 项目

django-admin startproject mysite

说明:

  • django-admin startproject:创建项目的命令
  • mysite:创建项目的名称(自定义)

查看 startproject创建的目录

mysite/
  manage.py
  mysite/
    __init__.py
    settings.py
    urls.py
    asgi.py
    wsgi.py

目录说明:

  • 外部根目录,是项目的容器。它的名字对Django来说并不重要,可以任意重命名。
  • manage.py:命令执行程序,以各种方式与此 Django项目进行交互。
  • mysite/settings.pyDjango项目的设置/配置。
  • mysite/urls.pyDjango项目的 URL声明。
  • mysite/asgi.pyASGI Web 服务器入口。
  • mysite/wsgi.pyWSGI Web 服务器入口。

注意:创建项目时,命名需要避免python内置包和Django组件名

2.5 🌊 开启用于开发的简易服务器

在 manage.py 同目录下打开终端
python manage.py runserver
成功启动后,会有以下输出
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

June 13, 2022 - 09:55:14
Django version 3.2.13, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

服务器正在正常运行,通过浏览器访问:http://127.0.0.1:8000/

将看到一个”祝贺”页面,有一只火箭正在发射。

注意:当添加其他路由之后,如果没有指定根路由对应的视图,再次访问根路由 http://127.0.0.1:8000,将返回 404

三、创建应用(app)

3.1 🌊 创建 polls 应用

在 manage.py 同目录下打开终端
python manage.py startapp polls

3.2 🌊 编写第一个视图

polls/views.py
from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

polls目录下创建新文件 urls.py

from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

polls/urls.py中的路径,添加到根 URLcon中。

mysite/urls.py中,引入 from django.urls import include

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]

启动开发服务器,在浏览器访问:http://127.0.0.1:8000/polls/

即可见 “Hello, world. You’re at the polls index.” ,这是在 index 视图中定义的。

函数 path()说明:

函数 path()具有四个参数,两个必须参数: routeview,两个可选参数: kwargsname

  • route:匹配 URL的准则。当 Django响应一个请求时,会从 urlpatterns的第一项开始,按顺序依次匹配列表中的项,直到找到匹配的项。
  • view:当 Django找到一个匹配的准则,就会调用这个特定的视图函数,并传入一个 HttpRequest对象作为第一个参数,被”捕获”的参数以键值参数的形式传入。
  • kwargs:任意个关键字参数可以作为一个字典传递给目标视图函数。
  • name:为 URL取名,能够在 Django的任意地方唯一地引用它。

四、【 PyCharm 使用小技巧】

💎 使用 PyCharm 的工具运行 Django 项目

  • 启用 Django支持: Enable Django Support
  • 菜单栏 – PyCharm – preference
  • 如果是Windows或Linux,菜单栏 – File – Settings
  • Languages & Frameworks – Django

【邂逅Django】——(一)创建项目
  • 编辑运行脚本

【邂逅Django】——(一)创建项目

【邂逅Django】——(一)创建项目

【邂逅Django】——(一)创建项目

【邂逅Django】——(一)创建项目

完成以上操作后,可以直接使用 PyCharm工具直接运行 Django项目。

而不需要每次都在命令行输入 python manage.py runserver

🏅 总结

本文简单介绍了创建 Django项目和创建 Django app

以及使用 PyCharm快捷的运行 Django项目。

Original: https://www.cnblogs.com/CoderChaos/p/16372728.html
Author: CoderChaos
Title: 【邂逅Django】——(一)创建项目

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/713260/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 高频算法题之数组详细分析

    大家好,我是程序员学长~ 今天给大家带来一篇面试高频算法题之数组的详细解析,全文包含19道大厂笔试面试算法真题,一举拿下数组这个知识点,让算法不在成为进入大厂的绊脚石。 如果喜欢,…

    技术杂谈 2023年7月25日
    081
  • Node.js 执行系统命令

    我们在使用Node.js的时候总有一些时候需要执行一些系统命令,与系统做一些交互,或者调用其他语言,这个时候该怎么做呢?当然是使用 child_process模块了,这个模块翻译过…

    技术杂谈 2023年5月31日
    051
  • HIT软构博客6-设计模式

    设计模式可以分为1.创建型模式 2.结构型模式 3.行为类模式 1.创建型模式 ​ 工厂方法模式 ​ 当client不知道要创建哪个类的具体实例或不想在客户端代码指明要创建具体哪个…

    技术杂谈 2023年7月11日
    065
  • AOP

    AOP AOP的入门案例: AOP的工作流程 SpringAop的本质是:代理模式 AOP的切入点表达式 重用切入点表达式: ①声明 @Pointcut(“execut…

    技术杂谈 2023年7月24日
    066
  • 抽象类和接口

    Loading Tips: 除非必须使用,否则不要用接口 和 抽象类(大多时候,常规类就可以解决问题) 在合理的范围内尽可能抽象,相比于抽象类,我们 更倾向于接口的使用 poste…

    技术杂谈 2023年7月25日
    071
  • Rust:axum学习笔记(4) 上传文件

    接上一篇继续,上传文件是 web开发中的常用功能,本文将演示axum如何实现图片上传(注:其它类型的文件原理相同),一般来说要考虑以下几个因素: 文件上传的大小限制 文件上传的类型…

    技术杂谈 2023年5月31日
    085
  • 『硬核』Spring完整版学习笔记,动力节点王鹤

    Spring学习笔记(来自王鹤老师讲的最新版Spring) spring笔记官方下载地址:动力节点官网 视频观看地址 https://www.bilibili.com/video/…

    技术杂谈 2023年7月24日
    050
  • [转]Jira ScriptRunner Send Custom Email

    This snippet shows you how to send a custom email. You can use the method inside in any sc…

    技术杂谈 2023年5月30日
    0115
  • checking for tgetent()… configure: error: NOT FOUND!

    今天centos出现了下面的异常: checking for tgetent()… configure: error: NOT FOUND! You need to insta…

    技术杂谈 2023年6月1日
    079
  • Sololearn All In One

    Sololearn All In One web skills playground https://www.sololearn.com/profile/3476348 Learn…

    技术杂谈 2023年6月1日
    089
  • HIT软构博客2-java异常和final语法

    final的用法: 修饰变量:final关键字修饰的基本数据类型变量称为常量,不可更改。 final修饰的引用类型是不能改变其引用地址的,但可以改变地址内部属性。 修饰方法:fin…

    技术杂谈 2023年7月11日
    066
  • C#获取全部目录和文件

    public class FileAccess{ //储存所有文件夹名private ArrayList dirs; public FileAccess(){dirs = new …

    技术杂谈 2023年6月1日
    070
  • 面试手撕并发算法题

    固定打印顺序 使用 wait-notify 实现以下功能:先打印 b,再打印 a 线程t1和t2同时运行,t1中打印 a,t2中打印 b,但 t1 打印得有个前提,就是 t1要在t…

    技术杂谈 2023年6月21日
    062
  • AI工程师的笔记本环境配置

    还是爱折腾… 前一阵子买了个新的笔记本电脑, 幻13-3050TI-1T版本,全能本,CPU是8核心16线程的标压版AMD锐龙9-5900HS,显卡是NVIDIA-30…

    技术杂谈 2023年7月10日
    083
  • 当类的泛型相关时,如何在两个泛型类之间创建类似子类型的关系

    哈喽大家好,我是阿Q! 事情是这个样子的…… 对话中的截图如下: 看了阿Q的解释,你是否也和”马小跳”一样存在疑问呢?请往👇看 我们…

    技术杂谈 2023年7月11日
    057
  • Mac php5.6安装swoole

    下载 1.10.5 (支持php5.6的最新版本) https://pecl.php.net/package/swoole 第一步 phpize sudo /opt/homebre…

    技术杂谈 2023年5月30日
    083
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球