首页 > 技术文章 > 第一个Django模型

llw1121 2017-06-07 10:26 原文

    →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的管理面板;

 

推荐阅读