python - Django:utils.py - 名称“short_url”未定义
问题描述
我在short_url
从 UrlModels 查询字段时看到此错误:
NameError at /admin/shortner/urlmodels/5/change/
name 'short_url' is not defined
Request Method: POST
Request URL: http://127.0.0.1:8000/admin/shortner/urlmodels/5/change/
Django Version: 3.1.6
Exception Type: NameError
Exception Value:
name 'short_url' is not defined
utils.py
def code_generator(size=6, chars=string.ascii_lowercase + string.digits ):
return ''.join(random.choice(chars) for i in range(size))
def create_shortcut(instance, size=6):
new_code = code_generator(size=size)
urlmodel = instance.__class__
print(instance)
print(instance.__class__)
query_exists = urlmodel.objects.filter(short_url==new_code).exists()
if query_exists:
return create_shortcut(size=size)
return new_codefrom
models.py
class UrlModels(models.Model):
url = models.CharField(max_length=1000)
short_url = models.CharField(max_length=50, unique=True, blank=True)
def save(self, *args, **kwargs):
if self.short_url is None or self.short_url == '':
self.short_url = create_shortcut(self)
super().save(*args, **kwargs)
def __str__(self):
return self.url
解决方案
推荐阅读
- javascript - 如何获得人类可读的 2 位数毫秒?
- appium - NoSuchElementException:使用给定的搜索参数无法在页面上找到元素
- javascript - 如何编辑json中的值?
- winston - 从 winston 容器中删除所有记录器
- powershell - 没有截断的 PowerShell 脚本输出
- javascript - 动态变量而不是静态导致 JS 变慢?
- node.js - MongoDB数据库连接错误 - Docker Compose
- javascript - 在脚本之外编写 html 内容
- artificial-intelligence - 是否可以对两个以上玩家的非零和游戏使用 alpha-beta 修剪?
- html - 在tippy.js div中添加表单(在cytoscape.js的节点中),但文本输入和按钮不活动