それは簡単です。ユーザーが認証されると、relaventフォームフィールドは自動的に入力され、表示されません。ユーザーが認証されていない場合は、フォームフィールドを表示します。私はどこにでも見てきましたが、私は答えを見つけることができません。誰かがこれに対処する方法を知っていますか?あなたはこのような何か行うことができ、あなたのテンプレートでuser.is_authenticatedに基づいてDjango ThreadedCommentsのフィールドを自動入力するには
1
A
答えて
0
:
{% if user.is_authenticated %}
<form>
<input type="hidden" name="username" value="{{ user.username }}" />
</form>
{% else %}
<!-- use your "regular" form here -->
・ホープこのことができますを
0
この例では、実際のシステムから来る...、私は上の働いてきました。それがあなたを助けることを願っています。
import datetime
from django.conf import settings
from django.contrib.contenttypes.models import ContentType
from django.utils.encoding import force_unicode
import django.contrib.comments.forms
from current_user.middleware import get_current_user
class AuthCommentForm(django.contrib.comments.forms.CommentForm):
def get_comment_create_data(self):
"""
Returns the dict of data to be used to create a comment. Subclasses in
custom comment apps that override get_comment_model can override this
method to add extra fields onto a custom comment model.
"""
return dict(
content_type=ContentType.objects.get_for_model(self.target_object),
object_pk=force_unicode(self.target_object._get_pk_val()),
user_name=get_current_user().username,
user_email=get_current_user().email,
user_url='',
comment=self.cleaned_data["comment"],
submit_date=datetime.datetime.now(),
site_id=settings.SITE_ID,
is_public=True,
is_removed=False,
)
AuthCommentForm.base_fields.pop('url')
AuthCommentForm.base_fields.pop('name')
AuthCommentForm.base_fields.pop('email')
AuthCommentForm.base_fields.pop('honeypot')
AuthCommentForm.base_fields['comment'].label = False
+0
私はこれらの両方が働くので、私は2つの答えをしたいと思います。これはおそらく私が今後取るべきアプローチです。 –
関連する問題
- 1. jsonpレスポンスに基づいて入力フィールドを自動入力する
- 2. Django、他のAdminページの入力に基づいて、保存中にフィールドを自動設定する
- 3. ユーザー入力に基づいて入力フィールドを追加する
- 4. 他の選択フィールドの選択に基づいてモデルフォームの選択フィールドを自動入力する
- 5. 他の入力に基づいて入力フィールドを変更する
- 6. 別のテキストフィールド(jQuery)に基づいてテキストフィールドを自動入力する
- 7. jQuery - 入力フィールドに基づいて隠し値を変更
- 8. テキストボックスを別のテキストボックスへの入力に基づいてファイルから自動入力する方法
- 9. ページの内容に基づく自動ウェブページのデータ入力
- 10. 変更、テキスト入力フィールドに基づいており、ラジオボタン
- 11. 選択ボックスの選択に基づいて入力フィールドを無効にする
- 12. PHPのパラメータ入力に基づく自動設定関数名
- 13. ユーザー入力に基づいてdjango-celeryを使用してタスクをスケジュールする
- 14. ドロップダウンに基づいて入力を必須フィールドにする方法選択値
- 15. MTMフィールドに基づいてdjangoクエリーセットをフィルタリングする
- 16. フィールドに基づいてSPListItemsを自動的にソートする方法
- 17. 他のフィールドに基づいてDjangoのユーザーモデルで自動的にユーザー名を作成します
- 18. mysqlのselectに基づいて挿入中に非自動インクリメントフィールドをインクリメントする
- 19. チェックボックスの入力に基づいて深いオブジェクトをフィルタリングする
- 20. 別の入力フィールドの値を持つ自動入力フィールド
- 21. 入力フィールドに入力された数字に基づいてtdセルの色を変更します
- 22. drupal:フォームAPI。入力に基づいてフィールドを動的に非表示または表示します。
- 23. Djangoは他のフィールドに基づいてフィールド値を動的に設定します。
- 24. DataSetの行の値に基づいてDataTableを入力する
- 25. フォームの入力フィールドに基づいてdivを表示/非表示
- 26. 自動入力を送信する(パスワード入力フィールド)
- 27. モデルの属性に基づいていくつかのデータを自動入力する
- 28. 値の入力には、条件に基づいてDataBaseから
- 29. データモデルに基づいてフォームを自動的に生成する
- 30. Laravel 5.2入力フィールドに基づくモデル属性を設定
HERESにテンプレートの調整を持つ偉大なポスト:http://www.netboy.pl/2011/10/customizing-django-comments-for-registered-users/ –
はい、これは技術的に動作します。しかし、私はスニペットを変更することなくそれを行うことを望んでいた。 –