zoukankan      html  css  js  c++  java
  • 【Django】(2)Django模块创建应用程序

    • 保持runserver还在运行,在manage.py相同的目录下,新开一个终端窗口,激活虚拟环境,执行startapp命令

    python manage.py startapp learning_logs

    •  定义模型models.py

    在代码层面,一个模型就是一个类。

    打开models.py,写入模型Topic,描述 学习日志 的主题。

    from django.db import models
    
    # Create your models here.
    class Topic(models.Model):
        text = models.CharField(max_length=200)
        data_added = models.DateTimeField(auto_now_add=True)
        def __self__(self):
            """返回模型的字符串表示"""
            return self.text

    添加模型后,需要激活模型

    • 激活模型

    打开项目中的setting.py文件

    添加这个应用程序

    在终端执行 python manage.py makemigrations learning_logs

    这是让Django修改数据库,使其能够储存与模型Topic相关的信息

     然后应用这种迁移,执行python manage.py migrate

    (每当需要修改管理的数据时,都需要采取这三个步骤,先修改models.py,然后对learning_logs调用makemigrations,然后让Django迁移项目)

    即修改后需要python manage.py makemigrations APP_NAME然后python manage.py migrate

    • 管理网站

    1.为网站创建超级用户,执行python manage.py createsuperuser,然后输入用户名密码

    2.在admin.py中向管理网站注册之前创建的Topic模型

    然后访问localhost:8000/admin并输入刚刚创建的超级用户名和密码,就可以看到管理界面

     

    可以添加一个Chess主题

    无法添加,则是没有执行python manage.py migrate用来迁移

     添加模型Entry来显示该主题下的条目

    class Entry(models.Model):
        topic = models.ForeignKey('Topic',on_delete=models.CASCADE)
        text = models.TextField()
        data_added = models.DateTimeField(auto_now_add=True)
        class Meta:
            verbose_name_plural = 'entries'
            def __str__(self):
                return self.text[:50]+'...'

    添加在models.py,注意指定外键的方式,否则会报错,然后迁移模块,注册Entry

  • 相关阅读:
    [转] 百万级数据查询优化
    vs生成失败不报错
    C# 编译器错误对应代码详细信息
    使用XSL 样式表无法查看XML 输入。请更正错误然后单击刷新按钮
    vs中release模式调试和错误:CA0503:无法显示额外的代码分析警告或错误
    sp_executesql的用法
    一个for循环根据条件可以递增或递减
    Lc.exe已退出 代码为1
    将所有输出窗口文本重定向到即时窗口
    两步解决《内部服务器错误:500》
  • 原文地址:https://www.cnblogs.com/to-red/p/9827629.html
Copyright © 2011-2022 走看看