18-2
:简短的条目 当前,Django在管理网站或shell中显示Entry 实例时,模型Entry 的方法__str__() 都在其末尾加上省略号。请在方法__str__() 中添加一条if 语句,以便仅在条目长度超过50字符时才添加省略号。使用管理网站添加一个不超过50字符的条目,并核实显示它时没有省略号。
# 在这里创建模型
from django.db import models
# Create your models here.
class Topic(models.Model):
"""用户学习的主题"""
text = models.CharField(max_length=200)
date_added = models.DateTimeField(auto_now_add=True)
def __str__(self):
"""返回模型的字符串表示"""
return self.text
class Entry(models.Model):
"""学到的某个主题的具体知识"""
topic = models.ForeignKey(Topic,on_delete=models.CASCADE)
text = models.TextField()
date_added = models.DateTimeField(auto_now_add=True)
class Meta:
verbose_name_plural = 'entries'
def __str__(self):
"""返回的字符串长度超过50时添加省略号"""
if len(self.text) > 50:
return f"{self.text[:50]}..."
else
return self.text
18-4
:比萨店 新建一个名为Pizzeria的项目,并在其中添加一个名为pizzas 的应用程序。定义一个名为Pizza 的模型,它包含字段name ,用于存储比萨名称,如Hawaiian 和Meat Lovers 。定义一个名为Topping 的模型,它包含字段pizza 和name ,其中字段pizza 是一个关联到Pizza 的外键,而字段name 用于存储配料,如pineapple 、Canadian bacon 和sausage 。向管理网站注册这两个模型,并使用管理网站输入一些比萨名和配料。使用shell来查看你输入的数据。
建立虚拟环境
一、创建项目
在该目录下创建虚拟环境
Windows:
'cmd' # 在该目录中运行终端
python -m venv ll_env # ll是两个小写字母l
激活虚拟环境
pizzeria> ll_env\Scripts\activate
安装Django
(ll_env) D:\Sublime Text\python_test\pizzeria>pip install django
创建项目
(ll_env) D:\python_test\pizzeria>django-admin startproject pizzeria .
创建数据库
(ll_env) D:\Sublime Text\python_test\pizzeria>python manage.py migrate
创建应用程序 pizzas
(ll_env) D:\Sublime Text\python_test\pizzeria>python manage.py startapp pizzas
定义 Pizza 和 Topping 模型
models.py
from django.db import models
class Pizza(models.Model):
"""比萨"""
name = models.CharField(max_length=500)
date_added = models.DateTimeField(auto_now_add=True)
def __str__(self):
"""返回比萨名称"""
return self.name
class Topping(models.Model):
"""配料"""
pizza = models.ForeignKey(Pizza,on_delete=models.CASCADE)
name = models.TextField
版权声明:本文为Tacotl原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。