python - 名称“slugify”未定义
问题描述
一旦用户登录到我的网站,他就可以写一篇文章并更新它。
然后我在添加允许人们发表评论的功能方面取得了进展。我正处于可以从后端添加评论的阶段,它们将准确地显示在前端。
现在,当我尝试更新帖子时,我收到一条错误消息。
我认为这是因为有一个外键将评论类链接到帖子类。我尝试用谷歌搜索这个问题并查看 StackOverflow,但我并不完全相信我正在阅读的材料与我的问题远程相关。我正在努力解决这个问题,因为我几乎不明白/不知道问题是什么。
# Create your models here.
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
date_posted = models.DateTimeField(default=timezone.now())
author = models.ForeignKey(User, on_delete=models.CASCADE)
url= models.SlugField(max_length=500, unique=True, blank=True)
def save(self, *args, **kwargs):
self.url= slugify(self.title)
super().save(*args, **kwargs)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('article_detail', kwargs={'slug': self.slug})
class Comment(models.Model):
post = models.ForeignKey(Post,on_delete=models.CASCADE,related_name='comments')
name = models.CharField(max_length=80)
email = models.EmailField()
body = models.TextField()
created_on = models.DateTimeField(auto_now_add=True)
active = models.BooleanField(default=False)
class Meta:
ordering = ['created_on']
def __str__(self):
return 'Comment {} by {}'.format(self.body, self.name)
解决方案
您需要导入函数[ slugify(..)
Django-doc]:
from django.db import models
from django.utils.text import slugify
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
date_posted = models.DateTimeField(default=timezone.now())
author = models.ForeignKey(User, on_delete=models.CASCADE)
url= models.SlugField(max_length=500, unique=True, blank=True)
def save(self, *args, **kwargs):
self.url= slugify(self.title)
super().save(*args, **kwargs)
# …
推荐阅读
- node.js - 如何将 midi 文件作为消息附件发送
- python-2.7 - 指定存放上传图片的目录
- c++ - 车身角度不变 box2D C++
- javascript - 找到一个值下的最大属性
- javascript - 如何更改 iframe src 中的 DOM 元素(背景颜色)?
- javascript - 以覆盖模式从剪贴板粘贴 - 输入光标移动到文本节点的末尾
- java - 如何在我的 HashMap 中找到未知键的值并将其转换为 int?
- security - 我需要 MD5 作为 SHA-1 的伴侣吗?
- asp.net-mvc - 使用多个搜索框在 Asp.net(实体框架)中进行多重搜索
- python - 如何加入两个 Spark 结构化流?