2017-05-11 11 views
-2

Djangoアプリケーションに半静的なページがあり、データベースから情報を得ることができます(ページ名、見出しなど)。URLに基​​づいてどのようにデータベースからデータを取得できますか? Django

現在、すべてのページで、urls.pyに別のURLを作成してpage_nameを渡す必要があります。

from django.conf.urls import url 
from . import views 

urlpatterns = [ 
    url(r'second', views.page, {'page_name': 'second'}), 
    url(r'first', views.page, {'page_name': 'first'}) 
] 

URLからpage_nameを取得してデータベースから取得する情報を決定する方法はありますか?私はpage_nameがモデルフィールドであるこのようなことを試していました。

url(r'^(?P<page_name>.*/)', views.page) 

私が理解するように、<page_name>をビューに渡す必要があります。これを行う方法はありますか?それは基本的にURL内のすべてのものをキャプチャしますので、これはあなたのurlpatternsリストの非常に最後の要素である必要があり、けれども

+0

もちろんあります。これはDjangoが動作する基本的な方法であり、チュートリアルで詳しく説明しています。 –

答えて

0

はい、あなたは&

url(r'^(?P<page_name>.*/)', views.page) 

を使用する必要がありますすることができます。

ビューは、第2引数としてパラメータを受け入れる必要があります。例えば

# views.py 
def page(request, page_name): 
    # use the page_name argument as you like 
関連する問題