python Web框架(2):Django创建应用程序
项目名称:学习笔记
作用:让用户能够记录感兴趣的主题,并在学习每个主题的过程中添加日志条目。“学习笔记”的主页对这个网站进行描述,并邀请用户注册或登录。用户登录后,就可以创建新主题、添加新条目以及阅读既有的条目。
继续上一篇的内容,下面是接着在上一篇的内容上继续进行操作的。(我用的是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后可以添加主题试一下哦!