2016-09-02 6 views
0

私はDjangoフレームワークを学ぶためのサイトを作っています。私は現在、メインページにコンテンツを表示するためのビューとテンプレートファイルへのリンクを設定しています。views.pyのdictをdjangoから編集する方法admin

views.py:

def Index(request): 
    projectmessage = { 
    "projectMessage":"This is text from a dictionary value. written in views.py", 
    "projectTitle":"Title from dict", 
    "projectText": "Text from dict", 
    } 
return render(request,'wbdev/index.html', context=projectmessage) 

関連する行を私のviews.pyファイルでは、私はそれがレンダリングされる際にindex.htmlページ内に各キーのdictの値を表示している辞書を追加しましたindex.htmlの中で:私はGUIから直接のdictテキストを変更できるように、これはDjangoの管理ページ上で見えるようにすることができれば

<h3>{{ projectTitle }}</h3> 
<p>{{ projectMessage }}</p> 

私は思ったんだけど。これは行うことができますか、私はちょうどこれは、ジャンゴ管理者ページのためのものではないという意味でオフですか?私が赤だったものからdjango adminはmodels.pyファイルを解析し、テキストフィールドとボタンを設定します。私は公式のdjangoチュートリアルといくつかの "タンゴとdjango"の本をたどってきましたが、私が望む機能をどのように進めるべきか、私の頭を抱くことはできません。

ご質問には申し訳ありません。私は私の本に戻ってくるだろうし、おそらくこれがどのように機能するのかを理解するだろう。どのように私がこれを達成できるかについての説明を誰かが私に助けてくれるなら、私は最も感謝しています。

ありがとうございます。

答えて

1

プロジェクト用のモデルを作成すると、プロジェクトをデータベースに保存して管理者に簡単に表示できるようになります。 models.pyインサイド

次のものがあります。あなたはそれがその後、管理者views.pyであなたのインデックスの最後に

from dajngo.contrib import admin 
from .models import Project 

admin.site.register(Project) 

に表示されるはずのモデルを登録する場合はadmin.pyインサイド

class Project(models.Model): 
    message = models.CharField(max_length=20) 
    title = models.CharField(max_length=20) 
    text = models.CharField(max_length=20) 

をテンプレートにレンダリングする前に問題のプロジェクトオブジェクトのデータベースを照会することをお勧めします。

def index(request): 
    projects = Project.objects.all() 
    return render(request,'wbdev/index.html', context={'projects': projects}) 

テンプレート内で、データベース内のすべてのプロジェクトを繰り返し処理できます。

{% for project in projects %} 
    {{ project.message }} 
    {{ project.title }} 
    {{ project.text }} 
{% endfor %} 
+1

ありがとうございました。私が欲しかったのと同じように動作するだけでなく、Djangoについても学びました。再びありがとう! – xrefor

+0

手伝って幸せ、それを保つ! –

関連する問題