社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

参数不能为“NoneType”类型,在Django 3.0中必须为文本类型

VEERA BABU • 3 年前 • 116 次点击  

当我试图创建一封新的求职信时,我遇到了这个错误

Django=3.0

Python=3.7

<tr>
                    <td colspan="4">
                        <span class="form-tag {% if not name_form %} hidden {% endif %}">
                            <form class="form-inline" target="" method="POST" style="margin-top: 0px;">
                                {% csrf_token %}
                                <input type="text" class="span6" name="name" value="{{name_form.name.value}}" placeholder="Cover letter name">
                                <button type="submit" class="btn btn-primary">Create</button>
                                <button type="button" class="btn cancel-btn">Cancel</button>
                            </form>
                        </span>
                        <span class="button-tag {% if name_form %} hidden {% endif %}">
                            {% trans "No data found." %} Click to <a class="new_cover" href="#"> add a new cover letter</a>
                        </span>
                    </td>
                </tr>

以下是我的观点。py公司

class CoverLetterListView(View):
    def get(self, request):
        client = request.user.client
        cover_letters = CoverLetter.objects.filter(client=client, deleted=False,
                                                   is_master=True)
        return render(request, 'quotes/covers/cover_letters_list.django.html',
                      {'cover_letters': cover_letters})

    def post(self, request):
        client = request.user.client
        name_form = forms.CoverLetterNameForm(request.POST)
        cover_letters = CoverLetter.objects.filter(client=client, deleted=False)

        if name_form.is_valid():
            name_form.save_new(client=client)
        else:
            logger.warning(request, 'Invalid form')

        return render(request, 'quotes/covers/cover_letters_list.django.html',
                      {'name_form': name_form, 'cover_letters': cover_letters})

这是我的表格。py公司

class CoverLetterNameForm(forms.ModelForm):
    class Meta:
        model = CoverLetter
        fields = ('name',)

    def save_new(self, client, master=True):
        instance = self.save(commit=False)
        instance.is_master = master
        instance.client = client
        return instance.save()

class CoverLetter(models.Model):
    name = models.CharField(max_length=120)
    title = models.CharField(max_length=120, blank=True, null=True)
    is_master = models.BooleanField(default=False)
    show_logo = models.BooleanField(default=False)
    show_company_name = models.BooleanField(default=False)
    logo = models.ImageField(upload_to=get_logo_path, blank=True, null=True)
    text = BleachField(blank=True, null=True)
    deleted = models.BooleanField(default=False)
    client = models.ForeignKey(Client,on_delete=models.CASCADE)

    created_at = models.DateTimeField(auto_now_add=True)
    modified_at = models.DateTimeField(auto_now=True)

    def __str__(self):
        return self.name

看看我的错误回溯

Traceback (most recent call last):
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/views/generic/base.py", line 71, in view
    return self.dispatch(request, *args, **kwargs)
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/views/generic/base.py", line 97, in dispatch
    return handler(request, *args, **kwargs)
  File "/home/harika/krishna test/dev-1.8/mcam/server/mcam/quotes/views.py", line 2077, in post
    name_form.save_new(client=client)
  File "/home/harika/krishna test/dev-1.8/mcam/server/mcam/quotes/forms.py", line 237, in save_new
    return instance.save()
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/base.py", line 746, in save
    force_update=force_update, update_fields=update_fields)
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/base.py", line 784, in save_base
    force_update, using, update_fields,
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/base.py", line 886, in _save_table
    results = self._do_insert(cls._base_manager, using, fields, returning_fields, raw)
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/base.py", line 925, in _do_insert
    using=using, raw=raw,
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/manager.py", line 82, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/query.py", line 1204, in _insert
    return query.get_compiler(using=using).execute_sql(returning_fields)
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/sql/compiler.py", line 1376, in execute_sql
    for sql, params in self.as_sql():
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/sql/compiler.py", line 1321, in as_sql
    for obj in self.query.objs
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/sql/compiler.py", line 1321, in <listcomp>
    for obj in self.query.objs
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/sql/compiler.py", line 1320, in <listcomp>
    [self.prepare_value(field, self.pre_save_val(field, obj)) for field in fields]
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/sql/compiler.py", line 1271, in pre_save_val
    return field.pre_save(obj, add=True)
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django_bleach/models.py", line 32, in pre_save
    **self.bleach_kwargs
  File "/home/harika/lightdegree/lib/python3.7/site-packages/bleach/__init__.py", line 90, in clean
    return cleaner.clean(text)
  File "/home/harika/lightdegree/lib/python3.7/site-packages/bleach/sanitizer.py", line 169, in clean
    raise TypeError(message)
TypeError: argument cannot be of 'NoneType' type, must be of text type

我通过添加模型编辑了我的问题。py和错误回溯请查看

如何解决此错误

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/137013
 
116 次点击