django Category -id值

时间:2018-07-09 08:48:45

标签: python django

我希望该值成为我按下的类别。

<div class = 'category_Choose'>
<input type='text' name = 'category_id' value="???">
</div>

示例:如果我选择“动漫”类别,则我希望该字段值为“动漫”。

class Category(models.Model):

    title = models.CharField(max_length=150)
    category_post = models.ForeignKey('Post', on_delete=models.CASCADE)
    body = models.TextField()
    photo = models.ImageField(upload_to='static/images/', default = 'static/images/single_image.png')
    url = models.CharField(max_length=150)

    def __str__(self):
        return self.title

我该怎么做?

2 个答案:

答案 0 :(得分:0)

$(".posts").click(function(){
  var cat_name = $(this).data('category');
  $('input[name="category_id"]').val(cat_name)
  alert($('input[name="category_id"]').val())
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="category_id" value="">

<a class="posts" data-category="cat_1">Post 1</a>
<a class="posts" data-category="cat_2">Post 2</a>
<a class="posts" data-category="cat_3">Post 3</a>
<a class="posts" data-category="cat_4">Post 4</a>

答案 1 :(得分:0)

您可以尝试使用Jquery来解决此问题。您可以在模板中呈现所有类别,然后使用jquery的hide和show方法。

假设您的html看起来像这样,

<div id='categories'>

    <div id= 'category_id_1'>
        <p>category name 1</p>
        .
        .
        .
    </div>

    <div id= 'category_id_2'>
        <p>category name 2</p>
        .
        .
        .
    </div>

    .
    .
    .
    .
</div>

您要隐藏和显示的Jquery代码看起来像这样,

document.ready(function(){

    var input = $('input');

    input.click(function(){

        /* Get the selected category_id */

        category_id = option.attr('name');

        $('#categories').find('.category').each(function(i){

            /* Show the category with the selected category id*/

            if ( $(this).attr('category_id') === category_id ){
                $(this).show()
            }
            else{
                $(this).hide()
            }
        });
    });
});