LOADING

Follow me

Django 学习笔记(二)
十一月 28, 2013|IT

Django 学习笔记(二)


  1. 如果你的母语不是英语,而你不想用它来配置你的浏览器,你可以做一个快速更改来观察Django管理工具是否
  2. 被翻译成你想要的语言。 仅需添加“ ‘django.middleware.locale.LocaleMiddleware’“ 到“
  3. MIDDLEWARE_CLASSES“ 设置中,并确保它
  4. 在’django.contrib.sessions.middleware.SessionMiddleware’* 之后* 。




  5. 将你的Models加入到Admin管理中
  6. 有一个关键步骤我们还没做。 让我们将自己的模块加入管理工具中,这样我们就能够通过这个漂亮的界面添
  7. 加、修改和删除数据库中的对象了。 我们将继续第五章中的“ book“ 例子。在其中,我们定义了三个模块:
  8. Publisher 、 Author 和 Book 。
  9. 在“ books“ 目录下(“ mysite/books“ ),创建一个文件:“ admin.py“ ,然后输入以下代码:
  10. from django.contrib import admin
  11. from mysite.books.models import Publisher, Author, Book
  12. admin.site.register(Publisher)
  13. admin.site.register(Author)
  14. admin.site.register(Book)
  15. 这些代码通知管理工具为这些模块逐一提供界面。
  16. 空值:
  17. class Author(models.Model):
  18. first_name = models.CharField(max_length=30)
  19. last_name = models.CharField(max_length=40)
  20. email = models.EmailField(**blank=True** )
  21. 这些代码告诉Django,作者的邮箱地址允许输入一个空值。 所有字段都默认blank=False,这使得它们不允许
  22. 输入空值。
  23. 设置日期型和数字型字段可选:
  24. 在Django模块中,你可以通过添加null=True来指定一个字段允许为NULL。
  25. 因此,这说起来有点复杂: 如果你想允许一个日期型(DateField、TimeField、DateTimeField)或数字型
  26. (IntegerField、DecimalField、FloatField)字段为空,你需要使用null=True * 和* blank=True。
  27. 为了举例说明,让我们把Book模块修改成允许 publication_date为空。修改后的代码如下:
  28. class Book(models.Model):
  29. title = models.CharField(max_length=100)
  30. authors = models.ManyToManyField(Author)
  31. publisher = models.ForeignKey(Publisher)
  32. publication_date = models.DateField(**blank=True, null=True** )
  33. 添加null=True比添加blank=True复杂。因为null=True改变了数据的语义,即改变了CREATE TABLE语句,
  34. 把publication_date字段上的NOT NULL删除了。 要完成这些改动,我们还需要更新数据库。

版权声明:本文为博主原创文章,未经博主允许不得转载。

no comments
Share

发表评论