Django学习(2)

• 数据库设置

默认使用SQLite,相关的设置都在setting.py文件中进行。

setting,py中还有其他设置:
INSTALLED_APPS文件顶部的设置。该名称包含在此Django实例中激活的所有Django应用程序的名称。其中包含一些默认的应用程序。不需要时可以在INSTALLED_APPS中删去。

python manage.py migrate

该migrate命令将查看该INSTALLED_APPS设置,并根据mysite/settings.py文件中的数据库设置以及应用程序随附的数据库迁移来创建任何必要的数据库表。

• 创建模型

模型是相关数据的唯一、确定的事实来源。它包含要存储数据的基本字段和行为。也就是一个包含各种属性(数据)和方法(行为)的类。
比如说:
在民意调查应用中,我们将创建两个模型:Question和Choice。Question有一个问题和出版日期。Choice有两个字段:选择的文本和投票提示。每个Choice都与关联Question。

polls/models.py文件中添加代码

from django.db import models
class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')
class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)

在这里,每个模型都是django.db.models.Model的子类。每个模型都有许多类变量,每个类变量代表模型中的数据库字段。每一个字段都是一个Field的实例,不同的Field代表了不同类型的数据。

• 激活模型

为了包含应用,需要将应用的引用添加在设置的INSTALLED_APPS中,也就是将
polls.apps.PollsConfig添加到INSTALLED_APPS中

INSTALLED_APPS = [
    'polls.apps.PollsConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]
python manage.py makemigrations polls

表示对模型进行了一些修改,称之为迁移(migration),会生成一个polls/migrations/0001_initial.py文件,可以进行人工编辑。

python manage.py sqlmigrate polls 0001

可以看到SQL中,进行了那些迁移操作。

注:
1、数据表的名称是将应用名称和模型名称的小写组合起来自动生成的;
2、Django将附加"_id"到外键字段名称。
3、该sqlmigrate命令**实际上并未在数据库上运行迁移-而是将其打印到屏幕上**,以便您可以查看SQL Django认为需要的内容。这对于检查Django将要执行的操作或是否有需要SQL脚本进行更改的数据库管理员很有用。

python manage.py check

检查项目中是否存在任何问题,而无需进行迁移或接触数据库

python manage.py migrate

获取所有尚未应用的迁移,并针对数据库来运行它们,实际上就是根据之前的修改来改变数据库。

模型更改的三步:
• 更改模型(在models.py中)。
• 运行为这些更改创建迁移 python manage.py makemigrations
• 运行以将那些更改应用到数据库 python manage.py migrate

Django Admin介绍
admin是作为网站管理员存在

• 创建管理员用户

python manage.py createsuperuser

之后按提示信息输入内容(在输入密码的时候,可能会有密码无回显的情况,只需正常输入,不会有其他影响,我的环境是Python3.8+Django3.0)

然后运行服务器,输入http://127.0.0.1:8000/admin/
会显示管理员登录界面:
在这里插入图片描述
注意这里输入的不是,这个网页出现的会是错误页面:
在这里插入图片描述
修改polls/admin.py之后,应用就可以出现在管理员页面上。

from django.contrib import admin
from .models import Question
admin.site.register(Question)

之后可以通过管理员界面对Question数据库进行修改。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Django是一个流行的高级Python Web框架,用于快速开发安全、可维护的Web应用。如果你想学习Django,以下是一个基本的学习路径建议: 1. **安装和环境设置**: - 安装Python(推荐使用最新版本) - 安装Django和必要的依赖(如pip, virtualenv或conda) 2. **入门教程**: - 阅读官方文档的快速入门指南(https://docs.djangoproject.com/en/stable/getting-started/) - 通过官方教程创建第一个Django项目(Hello World应用) 3. **基础知识**: - Django MVC(模型-视图-控制器)架构理解 - 模型(Model):数据库操作和ORM(Object-Relational Mapping) - 视图(View):处理HTTP请求,调用模型并返回响应 - 控制器(Controller):前端界面的逻辑处理,但实际在Django中很少单独使用 4. **模板系统**: - 学习Django模板语言(Template Language),如何渲染数据到HTML页面 5. **URL路由和视图**: - Django URL patterns,如何定义应用的URL结构 - 函数视图和类视图的区别 6. **表单处理**: - Django Forms API,如何创建和验证用户输入 7. **认证和授权**: - 设置用户身份验证(Authentication)和权限管理(Authorization) 8. **中间件(Middleware)**: - 了解Django的内置中间件和自定义中间件的使用场景 9. **模板继承和模板标签**: - 更深入地了解模板的继承和自定义过滤器和标签 10. **部署**: - 选择部署方法(如Gunicorn, Nginx等),并了解Docker部署 11. **实战项目**: - 开始构建小型应用,如博客、论坛或库存管理系统,以巩固所学知识 **相关问题--:** 1. Django的MVC架构具体是如何工作的? 2. 什么是Django的表单验证?有哪些内置验证方法? 3. 如何在Django中实现自定义的认证系统?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值