Django 标签自动建议
Django tags auto suggest
我将 taggit and I want to use 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,这是问题出现时的最新版本 was/is 1.8.7.
(我不能写评论所以...)澄清情况:
- 提供您正在使用的 Django 版本,(作为上面指定的 taggit-autosuggest 版本,不能与 django 1.6+(在我的例子中是 1.8)一起工作)
- 检查应用程序的服务器端是否正常工作 - 转到 http://yoursite/taggit_autosuggest/list/ - 它必须提供 JSON 标签列表(如果有)或空列表
- 检查客户端是否存在
如果有任何文件丢失,您应该从存储库中获取它。
(我们假设 /static 在您的配置中是 STATIC_URL)
Upd: 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>
我将 taggit and I want to use 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,这是问题出现时的最新版本 was/is 1.8.7.
(我不能写评论所以...)澄清情况:
- 提供您正在使用的 Django 版本,(作为上面指定的 taggit-autosuggest 版本,不能与 django 1.6+(在我的例子中是 1.8)一起工作)
- 检查应用程序的服务器端是否正常工作 - 转到 http://yoursite/taggit_autosuggest/list/ - 它必须提供 JSON 标签列表(如果有)或空列表
- 检查客户端是否存在
如果有任何文件丢失,您应该从存储库中获取它。
(我们假设 /static 在您的配置中是 STATIC_URL)
Upd: 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>