无论如何使用django从模板中的表单字段预先填充一个slug字段?

时间:2016-03-14 09:03:36

标签: django django-forms

美好的一天。 我的admin.py中有以下slug字段:

prepopulated_fields = {'slug': ('title',)}

和我的forms.py:

class BookForm(forms.ModelForm):
class Meta:
        model = Book

        fields = [

            'username',
            'book',
            'slug',
            'password1',
            'password2',
        ]

并在我的模板中:

    <from method=post action=''>
{% csrf_token %}
{{ form.py }}
</form>

由于

1 个答案:

答案 0 :(得分:1)

正如@yedpodtrzitko在评论中所建议的,prepoluated_fields仅适用于管理界面。如果你想在你的视图中使用相同的细分字段,你必须使用Django内部使用的相同slugify方法在你想要的任何地方(在你的views.py中)强化字段:

from django.utils.text import slugify

#wherever you want a slug:
mystring = 'a string to slugified'
slugified_string = slugify(mystring) #will output a-string-to-slugified