第一个Django模型
→Django 里的模型是一种特殊的对象 — — 保存在数据库中。
1.创建应用程序
python manage.py startapp blog #创建应用程序
→在 mysite/setings.py 文件中找到 INSTALLED_APPS ,并在下面添加一行 'blog' .
INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'blog', )
2.创建一个博客文章模型
→打开blog/models.py 文件,删除所有代码,编写:
from django.db import models from django.utils import timezone # 导入文件 class Post(models.Model): ''' 定义模型; Post为模型名字,首字母大写' models.Models表明Post是一个Django模型,所以Django知道它应该被保存在数据库中''' author = models.ForeignKey('auth.User') #models.ForeignKey指向另一个模型的链接 title = models.CharField(max_length=200) text = models.TextField() # models.TextField定义没有长度限制的长文本 created_date = models.DateTimeField( default=timezone.now) published_date = models.DateTimeField( blank=True, null=True) def publish(self): #定义方法名,命名的规则是使用小写字母以及下划线 self.published_date = timezone.now() self.save() def __str__(self): return self.title
3.将新的模型添加到数据库
python manage.py makemigrations blog #为模型创建数据表 python manage.py migrate blog #应用到数据库的迁移文件
附:Django admin管理后台——使用 Django admin 添加,编辑和删除我们刚刚创建的帖子
1.打开 blog.admin,并替换代码为:
from django.contrib import admin from .models import Post admin.site.register(Post) #注册模型
2.启动服务器
python manage.py runserver
3.打开浏览器:http://127.0.0.1:8000/admin/ ,即可看到登录界面。
python manage.py createsuperuser #输入用户名(英文小写不用空格),邮箱和密码
4.返回浏览器,登录看到Django admin的管理面板;