django基础

django · 浏览次数 : 4

小编点评

一、学期准备安装Django 1. 打开终端,使用命令:`django-admin startproject 这里填写项目名称`即可创建。 2. 创建app: - 进入项目所在的路径 - 执行命令:`python manage.py startapp 这里填写app名称` 3. 使用PyCharm创建运行Django项目: - 在PyCharm中选择“File” > “Settings” > “Project: [项目名称]” > “Python Interpreter” - 点击右上角的齿轮图标,选择“Add” - 搜索并选择PyCharm的Python解释器 - 确认无误后点击“OK” 二、使用命令行方式创建第一个Django项目 1. 打开终端,使用命令:`django-admin startproject first_project` 2. 创建app: - 进入项目所在的路径 - 执行命令:`python manage.py startapp book` 3. 在`book`文件夹下创建一个名为`models.py`的文件,编写模型代码。 四、如何操作数据库 1. 配置数据库连接 - 在`settings.py`文件中,找到`DATABASES`配置,修改为: ``` 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': '127.0.0.1', 'PORT': 3306, 'USER': 'root', 'PASSWORD': '123', 'NAME': 'student' } ``` - 安装MySQL驱动:`pip install PyMySQL` - 在`__init__.py`文件中添加: ```python from pymysql import install_as_MySQLdb install_as_MySQLdb() ``` 2. 生成迁移文件 - 在终端执行命令:`python manage.py makemigrations` - 在终端执行命令:`python manage.py migrate` 五、同步到数据库中 - 在终端执行命令:`python manage.py migrate` 六、补充知识 - 在Django内部提供了一系列的功能,这些功能也会使用到数据库,所以在项目搭建以后第一次数据迁移的时候,会看到django项目中其他的数据表被创建了。 - 其中就有一个django内置的admin站点管理。 - 模型中Meta配置: - `db_table`: 数据库表名 - `ordering`: 设置在提取数据的排序方式。

正文

一、学期准备

安装Django

pip install django==5.0.3 ,

安装pycharm专业版

二、第一个django项目

  1. 命令行方式创建:打开终端,使用命令:django-admin startproject 【项目名称】即可创建。

    django-admin startproject first_project

    • 创建app:一个项目类似于一个架子,但是真正起作用的还是app。在终端进入到项目所在的路径,然后执行python manage.py startapp [app名称] 创建一个app。
  2. 使用pycharm创建

  3. 运行django项目

    python manage.py runserver 0.0.0.0:8080

urlpatterns = [
    path('admin/', admin.site.urls),
    path('book/',views.book_detail_query_string),
    # 如果输入book_id是一个非整形,会出现404错误: book/abc
    # 在视图函数中得到的book_id就是一个整型,否则,默认是str类型
    # 除了int类型,还有str,slug,uuid,path类型
    path('book/<int:book_id>',views.book_detail_path)
]



# 1. http://127.0.0.1:8080/book?id=2
def book_detail_query_string(request):
    # request.GET = {'id':3}
    book_id = request.GET.get('id')
    print(request.GET)
    return  HttpResponse("图书的id是"+book_id)


# http://127.0.0.1:8080/book/2
def book_detail_path(request,book_id):
    return  HttpResponse(f"您查找的图书id是{book_id}")

path函数

path() 可以接收四个参数,两个必选参数:routeview 两个可选参数:kwargs name

  • route: 字符串,定义 URL 的路径部分。可以包含变量,例如 <int:my_variable>,以从 URL 中捕获参数并将其传递给视图函数。
  • view: 视图函数,处理与给定路由匹配的请求。可以是一个函数或一个基于类的视图。
  • kwargs(可选): 一个字典,包含传递给视图函数的额外关键字参数。
  • name(可选): 为 URL 路由指定一个唯一的名称,以便在代码的其他地方引用它。这对于在模板中生成 URL 或在代码中进行重定向等操作非常有用。 (即是说 可以根据名字 反向获得路由)

三、如何操作数据库

3.1 django连接数据库配置

安装MySQL驱动

pip install PyMySQL

在Django的工程同名的子目录的__init__.py文件中添加如下语句

from pymysql import install_as_MySQLdb
install_as_MySQLdb() # 让pymysql以MySQLDB的运行模式和Django的ORM对接运行

修改database配置信息settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'HOST': '127.0.0.1', # 数据库主机
        'PORT': 3306, # 数据库端口
        'USER': 'root', # 数据库用户名
        'PASSWORD': '123', # 数据库用户密码
        'NAME': 'student' # 数据库名字
    }
}

注意 如果想打印orm转换过程中的sql,需要在settings中进行如下配置:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'console':{
            'level':'DEBUG',
            'class':'logging.StreamHandler',
        },
    },
    'loggers': {
        'django.db.backends': {
            'handlers': ['console'],
            'propagate': True,
            'level':'DEBUG',
        },
    }
}  

(1)生成迁移文件

所谓的迁移文件, 是类似模型类的迁移类,主要是描述了数据表结构的类文件.

python manage.py makemigrations

(2)同步到数据库中

python manage.py migrate
补充:在django内部提供了一系列的功能,这些功能也会使用到数据库,所以在项目搭建以后第一次数据迁移的时候,会看到django项目中其他的数据表被创建了。其中就有一个django内置的admin站点管理。(这个后面会写)

模型中Meta配置

class Book(models.Model):
    name = models.CharField(max_length=20,null=False)
    desc = models.charField(max_length=100,name='description')
    
    class Meta:
        db_table = 'book_model'
        ordering = ['_create_time','name']

以下将对Meta中的一些配置做解释:

db_table: 数据库表名

ordering:设置在提取数据的排序方式

与django基础相似的内容:

django基础

一、学期准备 安装Django pip install django==5.0.3 , 安装pycharm专业版 二、第一个django项目 命令行方式创建:打开终端,使用命令:django-admin startproject 【项目名称】即可创建。 django-admin startproje

Python Django 零基础从零到一部署服务,Hello Django!全文件夹目录和核心代码!

**在这篇文章中,我将手把手地教你如何从零开始部署一个使用Django框架的Python服务。无论你是一个刚开始接触开发的新手,还是一个有经验的开发者想要快速了解Django,这篇教程都会为你提供一条清晰的路径。我们将从环境搭建开始,一步一步地创建一个可以处理GET和POST请求的服务,让你能在实践

深入Django项目实战与最佳实践

title: 深入Django项目实战与最佳实践 date: 2024/5/19 21:41:38 updated: 2024/5/19 21:41:38 categories: 后端开发 tags: Django 基础 项目实战 最佳实践 数据库配置 静态文件 部署 高级特性 第一章:Django

Django测试与持续集成:从入门到精通

title: Django测试与持续集成:从入门到精通 date: 2024/5/18 16:38:41 updated: 2024/5/18 16:38:41 categories: 后端开发 tags: Django 测试 CI/CD 优化 部署 监控 迭代 第1章:Django测试基础 1.1

Django信号与扩展:深入理解与实践

title: Django信号与扩展:深入理解与实践 date: 2024/5/15 22:40:52 updated: 2024/5/15 22:40:52 categories: 后端开发 tags: Django 信号 松耦合 观察者 扩展 安全 性能 第一部分:Django信号基础 Djan

【转帖】PyCharm---Django简单例子--基础1

https://www.cnblogs.com/kllay/p/7286701.html 环境: python 2.7 Django 1.11.2 查看版本:python -m django --version 1.新建Django项目 django-admin startproject TestH

Python Django 模版全解与实战

**本文首先介绍了Django模板系统的基础知识,接着探讨了如何安装和配置Django模板系统,然后深入解析了Django模板的基本结构、标签和过滤器的用法,阐述了如何在模板中展示模型数据,最后使用一个实际项目的例子来演示如何在实际开发中使用Django模板系统。** ## Django模板系统的简

Django ORM:最全面的数据库处理指南

**深度探讨Django ORM的概念、基础使用、进阶操作以及详细解析在实际使用中如何处理数据库操作。同时,我们还讨论了模型深入理解,如何进行CRUD操作,并且深化理解到数据库迁移等高级主题。为了全面解读Django ORM,我们也讨论了其存在的不足,并对其未来发展进行了展望。这篇文章旨在帮助读者全

详解Django请求与响应:深入理解Web Http交互的核心机制

**本文深入探讨了 Django 中的请求与响应处理,从 Django 请求和响应的基础知识、生命周期,到 HttpRequest 和 HttpResponse 对象的详细介绍。同时,讨论了 Django 的视图和请求、响应处理,以及安全性和异步处理的考虑。最后,对比了 Django 与 Flask

跨越HTTP无状态边界:Cookie与Session在Django中的实战应用

**本文深入探索了Django中的Cookie和Session,解析了如何应对HTTP协议的无状态性问题,说明其基础概念,分析工作原理,并讨论何时应选择使用Cookie或Session。文章进阶部分,提出高效管理Cookie和Session,以及如何利用它们进行用户身份验证。** ## HTTP协议