こんにちは、読んでくれてありがとう!
私は Django の非常に新しいユーザーです。フレームワーク web の使い方を学ぶために、基本的な web から django に移行することにしました。私はdjangoチュートリアルを行いましたが、私のプロジェクトでは...方法はまったく面倒ではありません。
全体の概要を把握できるように、最初に私のプロジェクトについて簡単に説明します。私の基本的な Web は、ホームページと、さまざまなパラメーター (室温など) を変更したり、センサー データを確認したりできるセクションで構成されています。
これで、ホームページと温度制御セクションが実行されました (修正するものはほとんどありませんが、正しくレンダリングされています)。ホームページのすべてのセクションをボタンでリンクしたいと思います。これは私のホームページのテンプレートです:
{% extends 'base.html' %}
{% block content %}
<h1>Here goes a title</h1>
<p>A welcome message here...</p>
<h2>please select an action</h2>
<div id="column_left" class="column">
{% for action in actions_list_left %}
<div id="action_box1{{ forloop.counter }}" class="action_box">
<input type="button" onclick= " HELP HERE!! "
id= "{{ action.action_name }}_sel" class="action_button">
<div id="{{ action.action_name }}_desc" class="action_desc">
{{ action.description }}
</div>
</div>
{% endfor %}
</div>
<!--I ommit the right column, containing more actions...-->
{% endblock %}
「アクション」モデル フィールドを使用して、他のセクションにリンクしたいと考えています。私の考えは、アクション名フィールドをそのセクションの URL として使用することです (一般的な「モデル」の方法で行うため)。たとえば、ホームページが localhost:8000/ にあり、アクション名が「temp」の場合、関連付けられたボタンを localhost:8000/temp にリンクして、適切なテンプレートをレンダリングしたいと考えています。
私はurls.pyの問題だと思うので、ここに私のurlsファイルを投稿します(インポート行なし)...
urls.py
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^$', include('principal.urls')),
url(r'^temp/', include('temp.urls')),
)
プリンシパル/urls.py
urlpatterns = patterns('',
url(r'^$', 'principal.views.home', name='home'),
)
temp/urls.py
urlpatterns = patterns('',
url(r'^$', 'temp.views.index', name='temp_index'),
url(r'^(?P<pk>\d+)/$',
DetailView.as_view(
model=Room,
template_name='temp/roomTemp.html')),
)
他のスレッドで読んだいくつかのアイデアを試しました...
{% url temp:index %}
これは NoReverseMatch エラーをスローしました...「temp」は登録された名前空間ではありません。次に、これをどのように取得するかをグーグルで検索し、urls.py で次の行を変更しました。
url(r'^temp/', include('temp.urls', namespace='temp')),
また、temp/urls.py で次の行を変更しました。
url(r'^$', 'temp.views.index', name='temp'),
両方のページは正常にレンダリングされますが、ボタンが機能しません (何もしません)... 非常に単純なはずですが、すべての URL が少し複雑に思えます (ちなみに、構文は makefile mordor ファイルのようになる場合があります)。 :P). 私はDjango 1.3を使用しています
どんな助けでも本当に感謝しています。また、「良い django コーダー」のコメントや説明は、同じ間違いを繰り返さないために非常に役立ちます。
前もって感謝します、
ファン
編集:誰かが役に立つと思った場合に備えて、ここにコードの修正を投稿します:
<form action="{% url action.action_url %}">
<input type="submit" id="{{ action.action_name }}_sel" value="" class="action_button">
<div id="{{ action.action_name }}_desc" class="action_desc">
{{ action.description }}
</div>
</form>