我的模型在Slagify系列中有问题
from django.db import models
from django.contrib.auth.models import User
from django.template.defaultfilters import slugify
# Create your models here.
class Pages(models.Model):
title = models.CharField(max_length=255)
slug = models.SlugField(blank=True)
content = models.TextField(blank=True)
publish_at = models.DateTimeField(auto_now_add=True)
update_at = models.DateTimeField(auto_now=True)
order = models.IntegerField(default=0)
type_content = models.CharField(max_length=255)
user = models.ForeignKey(User)
status =models.IntegerField(default=1)
def __str__(self):
return self.title
def save(self, *args, **kwargs):
if not self.slug:
self.slug = slugify(self.title)
#self.user=self.request.user
super(Pages, self).save( *args, **kwargs)
我试着把代码self.slug=slugify(“slug的测试”)放进去,但问题仍然存在,但当他说保留信息时,没有问题
这是我的错误:
环境:
请求方式:POST请求URL:http://xxx.xx.xx.xx:8000/admin/pages/pages/add/
Django版本:1.7.1 Python版本:3.4.2安装的应用程序:('Django.contrib.admin','Django.contrib.auth','Django.contrib.contenttypes','Django.contrib.sessions','Django.contrib.messages','Django.contrib.staticfiles','seo','pages','site_options','news','tags','category')安装的中间件:('django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware','django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.MessageMiddleware','django.middlewareickjacking.XFrameOptionsMiddleware')
Traceback:文件"C:\cms-rock\vrockw\lib\site-包\django\core\处理程序\base.py"在get_response111中响应=wrapped_callback(请求,*callback_args,**callback_kwargs)文件"C:\cms-rock\vrockw\lib\site-包\django\contrib\admin\options.py"在包装器584.返回self.admin_site.admin_view(视图)(*args,**kwargs)File"C:\cms-rock\vrockw\lib\site-包\django\utils\decorators.py"在_wrapped_view105"C:\cms-rock\vrockw\lib\site-包\django\视图\装饰者\cache.py"在_wrapped_view_func52中响应=view_func(请求,*args,**kwargs)在内部204中的文件"C:\cms-rock\vrockw\lib\site-包\django\contrib\admin\sites.py"。返回视图(请求,*args,**kwargs)文件"C:\cms-rock\vrockw\lib\site-包\django\contrib\admin\options.py"在add_view1454.返回self.changeform_view(请求,无,form_url,extra_context)文件"C:\cms-rock\vrockw\lib\site-包_wrapper返回bound_func(*args,**kwargs)File"C:\cms-rock\vrockw\lib\site-包\django\utils\decorators.py"在_wrapped_view105bound_func中的cms-rock\vrockw\lib\site-包\django\utils\decorators.py"。返回func.get(自己,类型(自己))(*args2,**kwargs2)文件"C:\cms-rock\vrockw\lib\site-包\django\db\transaction.py"394.在changeform_view1405中返回func(*args,**kwargs)File"C:\cms-rock\vrockw\lib\site-包\django\contrib\admin\options.py"self.save_model(请求,new_object,表单,而不是添加)File"C:\cms-rock\cms\page\admin.py"在save_model45.obj.save()File"C:\cms-rock\cms\page\models.py"在保存37. Super(Pages, Self).保存(*args,**kwargs)File"C:\cms-rock\vrockw\lib\site-包\django\force_update=force_update,update_fields=update_fields)save_base中的文件"C:\cms-rock\vrockw\lib\site-包\django\db\模型\base. py"Rock\vrockw\lib\site-包\django\db\模型\base. py"在_save_table700。结果=自己。_do_insert(cls。_base_manager,使用,字段,update_pk,原始)文件"C:\cms-rock\vrockw\lib\site-包\django\db\模型\base. py"在_do_insert733。使用=使用,原始=原始)文件"C:manager_method92中的\cms-rock\vrockw\lib\site-包\django\db\模型\管理器. py"返回getattr(自己。get_queryset(),名称)(*args,**kwargs)_insert921中的File"C:\cms-rock\vrockw\lib\site-包\django\db\模型\Query. py"返回查询。get_compiler(使用=使用)。execute_sql(return_id)File"C:\cms-rock\vrockw\lib\site-包\django\db\模型\sql\编译器. py"在execute_sql920. cursors.执行(sql, params)文件"C:\cms-rock\vrockw\lib\site-包\django\db\backend\utils. py"在执行85. sql=自己. db. ops.last_executed_query(自己. cursor, sql, params)文件"C:\cms-rock在getattr 147中返回cursors. py"文件"C:\cms-rock\vrockw\lib\site\mysql\django\base. py"last_executed_query371中返回cursors. py"语句文件"C:\cms-rock\vrockw\lib\site-包\mysql\连接器\django\base. py"语句858返回自己_executed条()
异常类型:AttributeError位于/admin/pages/pages/add/Exception值:“NoneType”对象没有属性“strip”
此错误意味着所创建模型的title
属性没有值,您需要确保页面实例具有必需的属性,然后才能对其标题进行slagify。
下面的代码是一个很好的解决方法,但是您仍然需要知道为什么您的模型在保存时没有标题。
...
class Pages(models.Model):
...
def save(self, *args, **kwargs):
if self.title and not self.slug:
self.slug = slugify(self.title)
...
对您来说,一个最佳的解决方案是使用Django Autoslug库,这将为您节省设置段塞字段值的所有麻烦。
过来看:
from autoslug import AutoSlugField
class Pages(Model):
title = CharField(max_length=255)
slug = AutoSlugField(populate_from='title')
尝试使用来自django.utils.text的slgify函数,而不是django.template.defaultfilters
。Slugify从django.template.defaultfilters是模板过滤器,它应该在模板中使用。
如果pk_col值为空,则应打印未定义的主键。但我得到了这个错误。“NoneType”对象没有属性“rdd”。
问题内容: 下面的代码给出了错误: 码: 问题答案: 从代码中,我可以看到你希望允许用户下载pdf。 现在开始 去 http://localhost:5000
问题内容: 我的程序看起来像 当我运行它时,它会抛出我 不知道为什么会这样?当我已经在每个列表的开头创建列表时 问题答案: 实际上,您存储在此处: 更改列表并返回 例:
问题内容: 我遇到了这个问题,我不明白为什么。 我从我的应用程序中获取了代码,并制作了此测试代码,因此您不必费劲地查看我的要求。 我有这个工作在其他代码。但是,在将两者进行比较之后,我无法为自己的一生解决这个问题。 在此应用程序中,出现错误“ AttributeError:’NoneType’对象没有属性’delete’”。 问题答案: 在这一行: grid不返回任何内容,因此entryBox是,
我遵循项目中给出的所有指示 代码是main.py
我在IPython中运行%matplotlib,但是有一个属性错误:'NoneType'对象没有属性'lower' Python 3.7;马科斯·莫哈韦10.14。6(18G84);康达matplotlib:3.1。1个pypi_0个pypi