美文网首页
python Web框架(2):Django创建应用程序

python Web框架(2):Django创建应用程序

作者: 烂笔头2020 | 来源:发表于2020-05-13 11:15 被阅读0次

    项目名称:学习笔记
    作用:让用户能够记录感兴趣的主题,并在学习每个主题的过程中添加日志条目。“学习笔记”的主页对这个网站进行描述,并邀请用户注册或登录。用户登录后,就可以创建新主题、添加新条目以及阅读既有的条目。

    继续上一篇的内容,下面是接着在上一篇的内容上继续进行操作的。(我用的是windows系统)

    7、创建应用程序

    Django项目由一系列应用程序组成,他们协同工作,让项目成为一个整体。下面先创建一个应用程序。
    当前在前面打开终端窗口中还运行着runserver。


    (1)再打开一个终端窗口,并切换到manage.py所在的目录。激活该虚拟环境,再执行startapp:
    (ll_env)learning_log$ python manage.py startapp learning_logs
    (ll_env)learning_log$ dir learing_logs
    

    其中重要文件是models.py、 admin.py和views.py

    (2)编写models.py文件代码:
    models.py

    我们将使用models.py来定义我们要在应用程序中管理的数据。模型告诉Django如何处理应用程序中存储的数据,在代码层面,模型就是一个类。


    Django模型字段参考

    下面是在models.py中编写的代码:

    from django.db import models
    
    # Create your models here.
    class Topic(models.Model): #继承Model
        """用户学习的主题"""
        text = models.CharField(max_length=200) #varchar(200)的字符串类型,储存用户输入的条目
        date_added = models.DateTimeField(auto_now_add=True) #日期-时间类型,auto_now_add=True表示在每次对象被创建的时候自动设置为当前的时间(第一次创建的时间)
        
        def __str__(self):
            """返回模型的字符串表示,显示模型的简单表示"""
            return self.text
    
    (3)激活模型

    要使用模型,必须让Django将应用程序包含到项目中。为此打开settings.py(在项目learing_log目录下),看到这样的片段:



    即告诉Django哪些应用程序安装在项目中,告诉Django项目是哪些应用程序组成的。现在将这个片段进行修改,将前面的应用程序添加到里面,如下:


    接下来需要让Django修改数据库,使其能够存储与模型Topic相关的信息,在终端输入以下命令:

    (ll_env)learning_log$  python manage.py makemigrations learning_logs
    #输出结果
    Migrations for 'learning_logs':
      learning_logs\migrations\0001_initial.py
        - Create model Topic
    

    输出表明Django创建了一个名为0001_initial.py的迁移文件,这个文件将在数据库中为模型Topic创建一个表。下面应用这种迁移来让Django替我们修改数据库:

    (ll_env)learning_log$ python manage.py migrate
    #输出结果
    Operations to perform:
      Apply all migrations: admin, auth, contenttypes, learning_logs, sessions
    Running migrations:
      Applying learning_logs.0001_initial... OK
    

    主要看最后一行就可以了,这里说明迁移时一切正常。
    每当要修改 “学习笔记” 这个项目的管理数据时,都采取如下三个步骤:

    ①修改models.py;
    ②对learing_logs(前面创建的应用程序名)调用makemigrations命令产生迁移文件;
    ③让Django迁移项目:python manage.py migrate。

    8、建立Django管理网站
    (1)创建超级用户
    (ll_env)learning_logs$ python  manage.py  createsuperuser
    
    (2)向管理网站注册模型

    创建应用程序learning_logs的admin.py文件:


    admin.py

    修改后:


    使用超级用户账户访问管理网站:http://localhost:8000/admin/,并输入刚创建的用户名和密码。
    这个网站可以让你能够添加和修改用户和用户组,还可以管理与刚才定义的模型Topic相关数据。

    注册好Topic后可以添加主题试一下哦!


    相关文章

      网友评论

          本文标题:python Web框架(2):Django创建应用程序

          本文链接:https://www.haomeiwen.com/subject/ajpbnhtx.html