Проблематичная ошибка : Не возвращается объект HttpResponse. Вместо него возвращается None

Мне поручено сделать проект шоппинга с моделями Products, categories, sub_categories, size, colors. Категории и подкатегории связаны через внешние ключи и я использую SERAILIZERS.Проблема в том, что когда я пытаюсь вставить данные в подкатегории, они не появляются ни в базе данных, ни на веб-странице, я также пробовал value = "{{c.category_name}}" и в выпадающем списке select. ниже приведены модели

class Categories(models.Model):
    category_name = models.CharField(max_length=10)
    category_description = models.CharField(max_length=10)
    isactive = models.BooleanField(default=True)



class SUBCategories(models.Model):
    category_name = models.ForeignKey(Categories,on_delete=models.CASCADE)
    sub_categories_name = models.CharField(max_length=20)
    sub_categories_description = models.CharField(max_length=20)
    isactive = models.BooleanField(default=True)

функции подкатегорий и категорий

def show_sub_categories(request):
    showsubcategories = SUBCategories.objects.filter(isactive=True)
    #print(showsubcategories)
    serializer = SUBCategoriesSerializer(showsubcategories,many=True)
    print(serializer.data)
    return render(request,'polls/show_sub_categories.html',{"data":serializer.data})

def insert_sub_categories(request):
    if request.method == "POST":
        insertsubcategories = {}
        insertsubcategories['sub_categories_name']=request.POST.get('sub_categories_name')
        insertsubcategories['sub_categories_description']=request.POST.get('sub_categories_description')
        form = SUBCategoriesSerializer(data=insertsubcategories)
        
        if form.is_valid():
            form.save()
            print("hkjk",form.data)
            messages.success(request,'Record Updated Successfully...!:)')
            print(form.errors)
            return redirect('sub_categories:show_sub_categories')
        else:
            print(form.errors)

    else:
        insertsubcategories = {}
        form = SUBCategoriesSerializer(data=insertsubcategories)
        category_dict = Categories.objects.filter(isactive=True)
        category = CategoriesSerializer(category_dict,many=True)
        hm = {'context': category.data}
        if form.is_valid():
            print(form.errors)
        return render(request,'polls/insert_sub_categories.html',hm)

html из show sub_categories и insert subcategories соответственно

<td>category name</td>
                        <td>
                            <select name="category_name" id="">
                                {% for c in context %}
                                   <option value="{{c.id}}">{{c.category_name}}</option> 
                                {% endfor %}
                            </select>
                        </td>
                    </tr>
                    <tr>
                        <td>sub categories Name</td>
                        <td>
                            <input type="text" name="sub_categories_name" placeholder="sub categories ">
                        </td>
                    </tr>
                    <tr>
                        <td>Sub categories Description</td>
                        <td>
                            <textarea name="sub_categories_description" id="" cols="30" rows="10">

                            </textarea>
                        </td>
                    </tr>

                    <tr>
                        <td>
                            <input type="submit" value="Insert" />
                        </td>
                        <td>
                            {% if messages %}
                            {% for mess in messages %}
                            <b style="color:green;">{{mess}}</b>
                            {% endfor %}
                            {% endif %}
                        </td>

<tbody>
        <tr>
          <td><b>{{result.sub_categories_name}}</b></td>
          <td><b>{{result.sub_categories_description}}</b></td>
          <td style="position: relative;left:50px;">
            <a href="sub_categories/edit_sub_categories/{{result.id}}">
              <button class="btn btn-primary">
                <i class="fa-solid fa-pen-to-square">EDIT</i>
              </button>
            </a>
          </td>
          <td>
            <a href="{% url 'sub_categories:delete_sub_categories' result.id %}" onclick="return confirm('Are You Sure you want to delete?')">
              <button class="btn btn-danger">
                <i class="fa-solid fa-trash">DELETE</i>
              </button>
            </a>
          </td>
        </tr>
      </tbody>

информация, которую я пытаюсь добавить, не добавляется на веб-страницу и в базу данных, где я ошибаюсь в коде?

Отбрасывает конец insert_sub_categories и возвращает None. form.is_valid() возвращает False, print(form.errors), затем неявный return None.

Мой совет: откажитесь от представлений на основе функций и используйте представления на основе классов. Они отлично справляются с задачей отделения шаблона от жесткого кода, который вам действительно придется кодировать, и тем самым позволяют избежать ошибок, подобных этой.

Вернуться на верх