我使用taggit我希望django taggit autosuggest使用自定义表单(不,我不能使用ModelForm)。但是,无论我做什么,我都无法在视图中使用自动提示。
这是我的(减少)模型:
from taggit_autosuggest.managers import TaggableManager
class Ook(models.Model):
tags = TaggableManager()
这是我的(缩减)形式:
from taggit.forms import TagField
from taggit_autosuggest.widgets import TagAutoSuggest
class NewOokForm(forms.Form):
#m_tags = TagField() # This works but clearly has no autosuggestion.
m_tags = TagField(widget=TagAutoSuggest('taggit')) # Does not work!
我在视图中没有错误,只是没有标记建议。
我做错了什么?
我正在使用Django 1.8,这个问题的最新版本是1.8.7。
答案 0 :(得分:2)
(我不能写评论......)澄清情况:
如果缺少任何文件,您应该从存储库中获取它。
(我们假设/ static在您的配置中是STATIC_URL)
更新:将Form与Model连接时使用ModelForm开始工作:
from django.forms import ModelForm
class OokForm(ModelForm):
class Meta:
model = Ook
fields = ['name', 'tags']
在views.py中:
def OokView (request):
form = OokForm()
c = {'form': form}
return render(request,'ook_form.html', c)
在ook_form.html中:
<html>
<head>
<!-- Be sure that there is no JS errors during loading -->
<script src="//code.jquery.com/jquery-1.10.1.min.js"></script>
<link href="/static/jquery-autosuggest/css/autoSuggest-grappelli.css" type="text/css" media="all" rel="stylesheet" />
<script type="text/javascript" src="/static/jquery-autosuggest/js/jquery.autoSuggest.minified.js">
</script>
</head>
<form action="/your-name/" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit" />
</form>
</body>