私はオブジェクトの代わりにドロップダウン値を取得できないようです。Django - オブジェクトの代わりにドロップダウン値を表示するには?
models.py
{% extends "base.html" %}
{% load i18n %}
{% block content %}
<form method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
{% endblock %}
form.html
class FacebookAccount(models.Model):
user = models.ForeignKey(User)
account_description = models.CharField(max_length=50)
facebook_application_id = models.CharField(max_length=50)
facebook_application_secret = models.CharField(max_length=50)
ouath_token = models.CharField(max_length=50)
class FacebookFanPage(models.Model):
facebook_account = models.ForeignKey(FacebookAccount)
fan_page_description = models.CharField(max_length=50)
fan_page_id = models.CharField(max_length=30)
class PredefinedMessage(models.Model):
user = models.ForeignKey(User)
list_name = models.CharField(max_length=50)
list_description = models.CharField(max_length=50)
class Campaign(models.Model):
user = models.ForeignKey(User)
campaign_name = models.CharField(max_length=50)
autoresponder_type = (
('Send replies to inbox messages','Send replies to inbox messages'),
('Post replies to users comments','Post replies to users comments'),
)
facebook_account_to_use = models.ForeignKey(FacebookAccount)
set_auto_reply_for_fan_page = models.ForeignKey(FacebookFanPage)
message_list_to_use = models.ForeignKey(PredefinedMessage)
reply_only_for_this_keyword = models.CharField(max_length=50)
views.py
class AutoresponderForm(ModelForm):
class Meta:
model = Campaign
fields = ['campaign_name','facebook_account_to_use','set_auto_reply_for_fan_page','message_list_to_use','reply_only_for_this_keyword']
exclude = ('user',)
def autoresponder_create(request, template_name='form.html'):
form = AutoresponderForm(request.POST or None)
if form.is_valid():
form = form.save(commit=False)
form.user = request.user
form.save()
return redirect('autoresponder_list')
return render(request, template_name, {'form':form})
してくださいアドバイス。ありがとうございました。
は、私も、このオプションを好むが、また、あなたはテンプレートに手動でフォームのレンダリングを使用することができます。 – ubombi
まず試してみます。 –
@ Dato'MohammadNurdin Djangoはオブジェクトを表示しようとするたびに、モデルの '__str__'メソッドを探します。このメソッドの戻り値は、オブジェクトの表示方法を決定します。 – DeepSpace