- 如果你的母语不是英语,而你不想用它来配置你的浏览器,你可以做一个快速更改来观察Django管理工具是否
- 被翻译成你想要的语言。 仅需添加`` ‘django.middleware.locale.LocaleMiddleware’`` 到``
- MIDDLEWARE_CLASSES`` 设置中,并确保它
- 在’django.contrib.sessions.middleware.SessionMiddleware’* 之后* 。
- 将你的Models加入到Admin管理中
- 有一个关键步骤我们还没做。 让我们将自己的模块加入管理工具中,这样我们就能够通过这个漂亮的界面添
- 加、修改和删除数据库中的对象了。 我们将继续第五章中的`` book`` 例子。在其中,我们定义了三个模块:
- Publisher 、 Author 和 Book 。
- 在`` books`` 目录下(`` mysite/books`` ),创建一个文件:`` admin.py`` ,然后输入以下代码:
- from django.contrib import admin
- from mysite.books.models import Publisher, Author, Book
- admin.site.register(Publisher)
- admin.site.register(Author)
- admin.site.register(Book)
- 这些代码通知管理工具为这些模块逐一提供界面。
- 空值:
- class Author(models.Model):
- first_name = models.CharField(max_length=30)
- last_name = models.CharField(max_length=40)
- email = models.EmailField(**blank=True** )
- 这些代码告诉Django,作者的邮箱地址允许输入一个空值。 所有字段都默认blank=False,这使得它们不允许
- 输入空值。
- 设置日期型和数字型字段可选:
- 在Django模块中,你可以通过添加null=True来指定一个字段允许为NULL。
- 因此,这说起来有点复杂: 如果你想允许一个日期型(DateField、TimeField、DateTimeField)或数字型
- (IntegerField、DecimalField、FloatField)字段为空,你需要使用null=True * 和* blank=True。
- 为了举例说明,让我们把Book模块修改成允许 publication_date为空。修改后的代码如下:
- class Book(models.Model):
- title = models.CharField(max_length=100)
- authors = models.ManyToManyField(Author)
- publisher = models.ForeignKey(Publisher)
- publication_date = models.DateField(**blank=True, null=True** )
- 添加null=True比添加blank=True复杂。因为null=True改变了数据的语义,即改变了CREATE TABLE语句,
- 把publication_date字段上的NOT NULL删除了。 要完成这些改动,我们还需要更新数据库。
Django 学习笔记(二)
最新推荐文章于 2022-07-18 20:41:52 发布