• Anaconda+django写出第一个web app(二)


    今天开始建立App中的第一个Model,命名为Tutorial. Model的定义在main文件夹下的models.py中通过类进行,我们希望Tutorial这个model包含三个属性:标题、内容和发布日期,因此修改models.py的内容如下:

    from django.db import models
    
    # Create your models here.
    class Tutorial(models.Model):
        tutorial_title = models.CharField(max_length=200)
        tutorial_content = models.TextField()
        tutorial_published = models.DateTimeField('date published')
    
        def __str__(self):
            return self.tutorial_title

    对与title我们使用了CharField,对于content我们使用了TextField,他们的区别在于CharField一般用于有长度限制的内容,TextFeild一般没有长度限制。详细解释可参考帮助文档

    这里我们写完了Tutorial这个model,接下来我们需要将这个model安装到我们的app中,这一步在settings.py中进行设置,我们在INSTALLED_APPS中添加'main.apps.MainConfig',那么MainConfig在哪里呢?我们打开main文件夹下的apps.py即可看到MainConfig这个类,settings.py中的INSTALLED_APPS添加后内容如下:

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'main.apps.MainConfig',
    ]

    接下来我们需要进行数据迁移(migration),每次对model做出改变都需要进行一次迁移,迁移包括两个步骤makemigrations和migrate。在命令行进行如下操作:

    python manage.py makemigrations
    执行完后,在执行下句: python manage.py migrate

    然后再mysite/main/migrations这个文件夹下生成了一个文件0001_initial.py,可以打开查看其内容。

    接下来我们可以通过sql语句来建立一个Tutoria模型,在命令行输入:

     python manage.py shell 

    然后输入:

    from django.utils import timezone
    
    new_tutorial = Tutorial(tutorial_title='Title1',tutorial_content='This is some text', tutorial_published=timezone.now())
    
    new_tutorial.save()
    
    for t in Tutorial.objects.all():
    ... print(t.tutorial_title)

    即可看到输出Title1。另外也可通过数据库查看软件来查看具体内容,django默认使用的数据库是sqlite,在mysite这个文件夹下可以看到一个文件db.sqlite3。通过安装Navicat Premium可以查看各种数据库,如下图为刚刚创建的内容:

    之后添加的内容都可以在此清楚的查看,非常方便。

    参考链接:

    [1] https://pythonprogramming.net/models-django-tutorial/

  • 相关阅读:
    改变UINavigationBar颜色需要注意的地方
    更改ios状态栏颜色
    多线程简单介绍
    GCD多线程的实现方法
    NSUserDefaults的简单介绍
    NSFileManager的简单介绍,在沙盒目录下对文件进行增删改查
    在plist文件中增删改查
    frame bound center等之间的关系
    《汇编语言》——王爽 第五章 [BX]和loop指令
    《汇编语言》——王爽 第四章 第一个程序
  • 原文地址:https://www.cnblogs.com/yunxiaofei/p/10414944.html
Copyright © 2020-2023  润新知