django 快速入门

Django是Python语言编写的一个全栈式Web框架,可以帮助我们快速编写一个具有数据库功能、增删查改、后台管理等功能的网站。假如你只需要一些很简单的功能,使用flask可能是个更好的选择。但是如果你想快速实现一个XX管理系统,那么用Django绝对是个好办法。本文参考了Django官方文档的Tutorials。另外我这里用的终端是Powershell,如果有些命令不能运行,去掉前面的.\

快速开始

安装Django

首先安装Django包,现在Django已经到了2.0版本,如果还在使用1.11请尽快升级。旧版本以后只修复bug,不会添加新功能。

pip install django

创建项目

Django安装好之后,会附带一个命令行工具django-admin,可以帮助我们管理Django项目。我们可以使用下面的命令创建一个新的Django项目模板。这样会创建django_sample文件夹,项目文件就在其中。另外需要注意项目文件夹最好是个性化一点的,不要和django、sys这样的第三方库或者python系统库重名。

django-admin startproject hello_django

创建好项目之后,我们进入项目文件夹中。用下面的命令就可以运行Django项目了。默认情况下,我们可以通过http://127.0.0.1:8000/来访问正在运行的项目。由于没有任何页面,所以会显示这么一个调试窗口。

python manage.py runserver

运行成功

创建app

在Django项目中,app表示更小的一个功能单位,比方说在一个博客管理系统中,对博客的增删查改等功能就应该聚合在一个app中。进入项目目录中,用startapp命令创建app。

cd .\hello_django\
django-admin startapp hello

这时候项目目录结构应该类似这样。

目录结构

为了让django包含创建的app,我们还需要激活app。打开配置文件,找到INSTALLED_APPS,然后把我们创建的app配置添加进去,这样django才能使用我们的app。

INSTALLED_APPS = [
    'hello.apps.HelloConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

模型层

设置数据库

打开配置文件settings.py,找到数据库一行,可以看到如下的配置。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

如果我们这时候使用python .\manage.py migrate命令生成数据库表,就会在项目中出现一个db.sqlite3文件,这就是默认的数据库文件,使用IDEA右键点击并选择As DataSource就可以将其作为数据库打开。然后我们会看到生成了10多个数据库表,这是Django程序存储数据生成的表。

django系统表

除了sqlite数据库,django还支持POstgreSQL、MySQL、Oracle这几个数据库。如果添加第三方后端支持,还可以使用SQL Server、IBM DB2等数据库。例如我现在准备使用PostgreSQL数据库,就修改为下面的配置。这时候NAME属性的意义就是数据库的名字。另外必须确保数据库事先存在,django可以自动创建表,但是不能自动创建数据库。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'test',
        'USER': 'postgres',
        'PASSWORD': '12345678',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}

创建模型

django支持ORM模型,也就是说我们可以不使用SQL语句就对数据进行增删查改。我们要做的就是在模型中指定和数据库的关系。

打开hello app中的models.py文件,然后添加下面两个模型。这两个模型是宠物和主人的关系。如果使用过其他ORM框架比如Hibernate之类的话,对这种结构应该非常熟悉。我们在定义模型的时候指定每一个字段的名字、长度、是否唯一等信息。值得注意的是,如果需要的值只可能是几个固定值,可以定义一个元组(该元组有一对值构成,第一个值是实际存在数据库中的值,第二个是给人类显示的友好可读值),然后传入choices参数。models.ForeignKey用来指定外键约束,还有一些其他的对应关系例如多对多、一对一等就不介绍了。

from django.db import models

class Owner(models.Model):
    GENDER = (
        ('M', 'MALE'),
        ('F', 'FEMALE')
    )
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=30, unique=True)
    gender = models.CharField(max_length=1, choices=GENDER)
    birthday = models.DateField()


class Pet(models.Model):
 
  • 45
    点赞
  • 358
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 《Django 3 入门与实践》是一本针对初学者的Django入门教程,涵盖了Django 3的基础知识和实践案例。 这本书首先介绍了Django的基本概念和特点,如何安装和配置Django开发环境,以及Django的项目结构和组件。接着,书中详细讲解了如何创建Django应用程序,包括创建模型、视图和模板。读者可以通过这些例子逐步了解Django的开发流程和常用功能。 《Django 3 入门与实践》还涵盖了Django的高级功能和实践技巧。例如,它介绍了Django的用户认证系统和权限控制,以及如何处理表单和文件上传。此外,书中还讲解了如何使用Django的ORM(对象关系映射)进行数据库操作,以及如何优化Django应用的性能和安全性。 为了帮助读者更好地理解和应用所学知识,该书还提供了一系列实践案例,涵盖了常见的Web开发需求和场景。通过这些案例,读者可以将所学知识应用到实际项目中,并了解如何构建完整的Django应用。 总的来说,《Django 3 入门与实践》是一本适合初学者的Django学习教程。书中内容系统全面,深入浅出,通过实践案例的讲解,读者能够掌握Django的基础知识和实际应用技巧。无论是想入门Django的初学者还是想提升Django技能的开发者,都可以从这本书中获益良多。 ### 回答2: "Django3入门与实践"是一本非常受欢迎的Python web框架Django的学习指南。这本书适合那些希望学习如何使用Django构建高质量网站和Web应用的初学者。 首先,书中介绍了Django的基本概念和核心功能,比如模型、视图、模板和表单等。这些知识对于理解Django的工作原理至关重要。读者可以通过实际的代码示例和详细的说明来学习如何创建和管理数据库模型,以及如何将数据呈现给用户。此外,书中还介绍了如何使用Django的内置认证系统和权限管理来确保网站的安全和用户验证。 其次,书中深入探讨了Django的高级特性和扩展。例如,它介绍了如何使用Django的路由系统来处理URL映射和页面重定向,以及如何使用Django的ORM来处理复杂的数据库查询和关系。此外,书中还介绍了如何使用Django的表单功能来处理用户输入和验证,以及如何使用Django的静态文件管理和国际化支持等高级功能。 最后,书中还提供了一些实践项目,这些项目可以帮助读者将所学知识应用到实际开发中。通过完成这些项目,读者可以进一步加深对Django的理解和掌握,并在实际项目中应用自己的技能。 总之,"Django3入门与实践"是一本很好的入门指南,适合初学者快速入门Django并理解其核心概念和功能。无论是想创建自己的网站,还是希望通过学习Django提升自己的编程技能,这本书都是一个值得推荐的资源。 ### 回答3: 《Django3 入门与实践》是一本介绍Django框架的书籍,通过阅读该书可以帮助读者快速入门并实践Django3的开发。 这本书从基础概念开始,详细介绍了Django框架的各个组件以及它们的作用,包括模型(Model)、视图(View)、模板(Template)等。读者可以通过逐步学习这些内容来掌握如何使用Django进行Web应用的开发。 书中还提供了大量的实例和案例,通过实际的项目示范,帮助读者理解和掌握Django的开发流程和技巧。这些示例项目涵盖了常见的Web开发需求,如用户认证、数据管理、表单处理、静态文件处理等。读者可以通过跟随书中的示例代码和说明,一步步实践这些项目,并逐渐提升自己的Django开发能力。 此外,《Django3 入门与实践》还介绍了Django的一些高级特性和扩展,如管理后台(Admin)的使用、数据库迁移(Migration)、国际化(Internationalization)等。这些内容为读者提供了更多的选择和拓展,使得他们可以根据实际需求使用Django框架构建更加强大和灵活的Web应用。 总之,通过阅读《Django3 入门与实践》,读者可以系统地学习和实践Django框架的基础知识和开发技巧,为其在Web开发领域打下坚实的基础。无论是想入门Django3的初学者,还是希望提升Django开发能力的开发者,这本书都是一个很好的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值