首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django博客教程(四):让 django 完成翻译—迁移数据库模型

为了让 django 完成翻译,帮我们创建好这些数据库表,我们再一次请出的工程管理助手manage.py。...,这个文件django 用来记录我们模型做了哪些修改的文件。...目前来说,我们在 models.py 文件里创建了 3 个模型类,django 把这些变化记录在了 0001_initial.py 里。...OK 外,django 还对其他文件做了操作。这是因为除了我们自己建立的 blog 应用外,django 自身还内置了很多应用,这些应用自己也是需要数据的。...可以看到 all()方法都返回了数据,这些数据应该是我们之前存进去的,但是显示的字符串有点奇怪,让人看不懂。为了让显示出来的数据更加人性化一点,我们分别为三个模型增加一个__str__()方法: ?

1.1K90
您找到你想要的搜索结果了吗?
是的
没有找到

拓展 User 模型

对于 Django 内置的 User 模型, 仅包含以下一些主要的属性: username,即用户名 password,密码 email,邮箱 first_name,名 last_name,姓 对于一些网站来说...使用 Profile 模式拓展用户模型 如果想为一个已使用了 Django 内置 User 模型的项目拓展用户模型,上述继承 AbstractUser 的拓展方式会变得有点麻烦。...Django 没有提供一套自动化的方式将内置的 User 迁移到自定义的用户模型,因为 Django 已经为内置的 User 模型生成了相关数据库迁移文件和数据库表。...所以我们采用另一种不改动数据库表的方式来拓展用户模型,具体来说,我们在创建一个模型(通常命名为 Profile)来记录用户相关的数据,然后使用一一的方式将这个 Profile 模型和 User 关联起来...OK,自定义的 User 模型已经建立好了,接下来就是如何创建用户,即用户注册流程了。 总结 本教程的示例项目代码位于 GitHub:Django Auth Example。

1.5K50

Django 博客教程(三):创建应用和编写数据库模型

现在就来创建我们的 django 博客应用,把它命名为 blog,进入虚拟环境,切换到 manage.py 文件所在的目录下,运行下面的命令: ?...编写博客的数据库模型 博客最主要的功能就是展示我们写的文章,它需要从某个地方获取我们写的博客文章数据才能把它展示出来,通常来说这个地方就是数据库。...其中 id 是一个数字,唯一应着一篇文章。当然还可以在列上加入更多的信息,这只是一个最基本的示例。...这是分类与标签,分类与标签的模型我们已经定义在上面。我们在这里把文章对应的数据库表和分类与标签对应的表关联起来,但是关联形式稍微有点不同。...而对于标签来说,一篇文章可以有多个标签,同一个标签下也可能有多篇文章,所以我们使用 ManyToManyField,表明这是多多的关系。

91790

创建 Django 博客的数据库模型

模型的代码通常写在相关应用的 models.py 文件里。已经在代码中做了详细的注释,说明每一句代码的含义。但如果你在移动端下阅读不便的话,也可以跳到代码后面看正文的里的讲解。...因此请在文件最开始处加入编码声明:# coding: utf-8。...这是分类与标签,分类与标签的模型我们已经定义在上面。我们把文章对应的数据库表和分类、标签对应的数据库表关联了起来,但是关联形式稍微有点不同。...假如你一关系和多多关系还存在一些困惑,强烈建议阅读官方文档这两种关系的说明以及更多官方的例子以加深理解: Django ForeignKey 简介 Django ForeignKey 详细示例...Django ManyToManyField 简介 Django ManyToManyField 详细示例 总结 本章节的代码位于:Step3: blog models。

1.3K60

创建Django环境

运行一下命令进行安装pip install django安装前记得激活虚拟环境conda activate django_study创建项目安装好Django库后,我们先来创建一个示例项目django-admin...startproject config运行完成后的目录结构如下图所示之所以使用config这个名字的原因是们一些配置文件都在config这个文件夹下面,这样看起来比较顺眼,而大部分教程里面使用的都是项目名...,这看起来很奇怪,也许有人说叫项目config也很奇怪啊,没关系,我们最外面的项目目录的名字是可以随便修改的,比如我将它修改为Study注意,修改的是最外层的文件夹的名字,而不是里面的config,如果你修改了里面的...最后我们今天简单的创建了Djdnaog的环境,并成功的运行了一个示例网站。后面我们将会在这个网站上进行我们的开发。最后记得将你的代码同步到仓库中。虽然它没有什么内容。...是Tango,一个热爱分享技术的程序猿,我们下期见。正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

15110

第 03 篇:创建 Django 博客的数据库模型

模型的代码通常写在相关应用的 models.py 文件里。已经在代码中做了详细的注释,说明每一句代码的含义。但如果你在移动端下阅读不便的话,也可以跳到代码后面看正文的里的讲解。...# 而对于标签来说,一篇文章可以有多个标签,同一个标签下也可能有多篇文章,所以我们使用 # ManyToManyField,表明这是多多的关联关系。...•category 和 tags:分类与标签,分类与标签的模型我们已经定义在上面。我们把文章对应的数据库表和分类、标签对应的数据库表关联了起来,但是关联形式稍微有点不同。...而对于标签来说,一篇文章可以有多个标签,同一个标签下也可能有多篇文章,所以我们使用 ManyToManyField,表明这是多多的关联关系。...详细示例[3]•django ManyToManyField 简介[4]•django ManyToManyField 详细示例[5] References [1] 关于字段类型的介绍: https:/

55240

autocomplete light配置xadmin使用时一记小坑

这看起来有点奇怪了,这里没出问题,但是其他人那里一样的代码会出问题。 首先的原因可能就是我们的版本不一样。But,确认后发现版本一样。 那么就是另外的原因,有细微的差别。...在Django的源码中,有这样的一个概念(:-) 自己总结的)—— 自治。 什么是自治呢?通俗来说就是高内聚,翻译成大白话来说就是能自己搞定的事就别麻烦别人。...在Django的源码中: django/forms/forms.py的BaseForm.media的代码能够查看field的组织顺序: # django.forms.forms.BaseForm部分代码...解决方案 上面的fields的来源也是有点复杂,这里不过多展开,不过解决方案很简单,就是在form的Meta中自定义fields,像这样: class PostAdminForm(forms.ModelForm...不过对于遇到这样问题的同学来说,如果能搞明白原因,是很有帮助的。

92320

Django搭建blog网站(一)

# 而对于标签来说,一篇文章可以有多个标签,同一个标签下也可能有多篇文章,所以我们使用 ManyToManyField,表明这是多多的关联关系。...在 blog 应用的 migrations\ 目录下生成了一个 0001_initial.py 文件,这个文件Django 用来记录我们模型做了哪些修改的文件。...目前来说,我们在 models.py 文件里创建了 3 个模型类,Django 把这些变化记录在了 0001_initial.py 里。...可以看到 all 方法都返回了数据,这些数据应该是我们之前存进去的,但是显示的字符串有点奇怪,无法看出究竟是不是我们之前存入的数据。...如果你这种模板继承还是有点糊涂,可以把这种继承和 Python 中类的继承类比。base.html 就是父类,index.html 就是子类。

5.6K91

第21篇-使用Django进行ElasticSearch的简单方法

KISS(保持简单愚蠢),少即是多,所有这些东西都引起了的共鸣,特别是当其他解决方案非常复杂时。决定在此视频中使用HonzaKrál的示例来为的代码提供基础。...建议您观看它,尽管此时它有点过时了。 由于我使用的是用Python编写的Django,因此与ElasticSearch进行交互非常容易。...我们将很快讨论一些示例,但首先需要阐明我们要完成的工作: ● 在我们的本地计算机上设置ElasticSearch并确保其正常运行 ● 设置一个新的Django项目 ● 批量索引数据库中已经存在的数据...在本指南中,选择了一个很好的老式博客文章示例。...解释了如何将Django模型连接到ElasticSearch进行索引和搜索,但是ElasticSearch可以做很多事情。

3.2K00

Django ORM模型:想说爱你不容易

不过,Django的ORM模型有自己的一套语法,有时候会觉得别扭。这里聊一下自己的体会。 模型设计 这一部分算处理得比较好的部分。...比如在一个叫myapp的Django App下,创建models.py文件: from django.db import models class Person(models.Model):...需要注意的是,在Django ORM中,只能通过ForeignKey来定义多一关系,不能显示地定义一多关系。但你可以使用模型对象的*_set语法来反向调用多一关系。...总的来说,上面的解决方案可以实现功能,并不影响使用。但我总是觉得这个解决方案有些丑陋。由于不能显式地表达两个模型之间的关系,模型之间的关系看起来不够明了。...特别是读代码时,第一个类定义完全没法提示一多的关系。必须要看到了第二个类定义,才能搞明白两个模型之间的关系。真希望有一种显式说明关系的办法,降低读代码时的认知负担。

77220

Django ORM模型:想说爱你不容易

不过,Django的ORM模型有自己的一套语法,有时候会觉得别扭。这里聊一下自己的体会。 模型设计 这一部分算处理得比较好的部分。...比如在一个叫myapp的Django App下,创建models.py文件: from django.db import models class Person(models.Model):...需要注意的是,在Django ORM中,只能通过ForeignKey来定义多一关系,不能显示地定义一多关系。但你可以使用模型对象的*_set语法来反向调用多一关系。...总的来说,上面的解决方案可以实现功能,并不影响使用。但我总是觉得这个解决方案有些丑陋。由于不能显式地表达两个模型之间的关系,模型之间的关系看起来不够明了。...特别是读代码时,第一个类定义完全没法提示一多的关系。必须要看到了第二个类定义,才能搞明白两个模型之间的关系。真希望有一种显式说明关系的办法,降低读代码时的认知负担。

62620

Django ORM模型:想说爱你不容易

不过,Django的ORM模型有自己的一套语法,有时候会觉得别扭。这里聊一下自己的体会。 模型设计 这一部分算处理得比较好的部分。...比如在一个叫myapp的Django App下,创建models.py文件: from django.db import models class Person(models.Model):...需要注意的是,在Django ORM中,只能通过ForeignKey来定义多一关系,不能显示地定义一多关系。但你可以使用模型对象的*_set语法来反向调用多一关系。...总的来说,上面的解决方案可以实现功能,并不影响使用。但我总是觉得这个解决方案有些丑陋。由于不能显式地表达两个模型之间的关系,模型之间的关系看起来不够明了。...特别是读代码时,第一个类定义完全没法提示一多的关系。必须要看到了第二个类定义,才能搞明白两个模型之间的关系。真希望有一种显式说明关系的办法,降低读代码时的认知负担。

1.3K80

第15篇-使用Django进行ElasticSearch的简单方法

KISS(保持简单愚蠢),少即是多,所有这些东西都引起了的共鸣,特别是当其他解决方案非常复杂时。决定在本视频中使用HonzaKrál的示例来为的代码提供基础。...建议您观看它,尽管此时它有点过时了。 由于我使用的是用Python编写的Django,因此与ElasticSearch进行交互非常容易。...我们将很快讨论一些示例,但是首先需要阐明我们要完成的工作: ● 在我们的本地计算机上设置ElasticSearch并确保其正常运行 ● 设置一个新的Django项目 ● 批量索引数据库中已经存在的数据...对于本指南,选择了一个很好的老式博客文章示例。...解释了如何将Django模型连接到ElasticSearch进行索引和搜索,但是ElasticSearch可以做很多事情。

5.2K00

一次安全测试引发的Django框架文件上传安全机制的初步分析

起因 司的堡垒机是基于jumpserver 0.3版本进行二次开发,进行了大量的重构和新功能的添加,基本满足了公司安全运维的需求。.../等目录穿越字符过滤后的结果,有点奇怪,莫非是框架自动帮我过滤掉了,好奇心驱使必须弄明白其中的原理,于是有了本文。 0x01....django.core.files.uploadhandler django.core.files.uploadedfile request.FILES 是一个类似于dict的对象,上传文件输入框name...属性的值为键名,键值指向处理后的文件对象(框架会调用指定的文件处理器处理),这个文件对象就是django.core.files.uploadedfile 模块中UploadedFile类的实例。...总结 梳理完成之后,终于Django 文件上传中的安全机制有了一些了解,解决了的困惑,像Django 这种现代的web框架对传统的安全漏洞(比如XSS,CSRF、文件上传等)都做了比较好的处理,在开发中

90520

初探Django框架

也就不得不来学习一下Django框架, 所以就摘了一些觉得比较重要的内容敲一遍, 然后把内容贴到这里(再加上的碎碎念)。...MTV模型 首先要知道一点, Django框架使用的并不是我们常见的MVC模型而是MTV模型, 提前了解这点我们理解后面对各个模型的作用和框架的整体工作流程是非常有帮助的。...MVC模型想就不必介绍了, 下面直接了解一下什么是MTV模型吧。...(默认情况下Django 会自动 views.py 传到HTML文件中的标签如跳转标签, script标签语法进行转义,令其语义失效)。...感觉上来说………..和上面差不多, 这段貌似有点多余了 响应对象:HttpResponse 对象 响应对象主要有三种形式:HttpResponse()、render()、redirect()。

2K20

1.4 Django基础篇--数据库模型设计

1.4.2 编写数据库模型 打开home应用下的models.py文件,这个文件是专门用来描述应用的数据库模型。 ?...excerpt用来存储文章的摘要,blank=True参数的意思是用来说明此字段可以为空值。 category用来表示分类,通过传入Category类实例化ForeignKey,来描述一多的关系。...DATABASES变量用来配置数据库,ENGINE代表使用数据库引擎,NAME对于sqlite3这种单文件数据库来说,代表着它的存储路径。...migrate命令才是真正意义上将应用数据模型映射到数据库中,Django通过检测migrations文件夹下的文件,就可以知道我们对数据模型做了哪些修改,然后Django将这些改动翻译成SQL语句,并作用于数据库...那Django将这些模型的改动翻译成什么样的SQL语句呢?么可以通过sqlmigrate 命令进行查看。在命令行中执行:python manage.py sqlmigrate home 0001。

1.2K30
领券