私はバックエンドとしてDjangoを使用してWebサイトを開発しています。管理インターフェースを使用して新しいページを追加できるようにしたいので、ページタイトル、より良いURLに使用されるページエイリアス、静的コンテンツや記事ベースの構造を望むかどうかを選択します。Djangoの動的URL
私はsitemanager
というアプリケーションを作成しました。このアプリケーションは上記のページモデルとテンプレート(メニュー用など)のコンテキストにページを追加するコンテキストプロセッサーで構成されています良い。
もちろん、私はそれを私のURLファイルにフックする必要がありますが、どこに問題が起きるのですか?Page
モデルをの形式で取得し、私のURLパターンを生成できますしたがって、それは表示されますが、Djangoはそのファイルをキャッシュしているように見えます(通常は意味があります)。そのため、サーバーの再起動後に変更が行われます。これは明らかに容認できません。
新しいページが追加または削除された場合、またはエイリアスが変更された場合は管理アプリケーションにURLキャッシュをリセットしてもらいますが、キャッシュは一般的には良いことですから、どのようにそこから始めるのか。
また、現時点では私が見ていない簡単な解決策もありますか?
from sitemanager.models import Page
static_pages = Page.objects.filter(static=True)
article_pages = Page.objects.filter(static=False)
for page in static_pages:
pattern = r'^/'+page.alias+'/$'
urlpatterns += patterns('',
url(pattern, 'views.static_page',
{ 'active': page }
)
)
# Pretty much the same for the article pages,
# but with includes of another app
私は私の頭の中でそのコードを除去しながら、私はあまりにも多くのミスをしなかった願っています:
私urls.py
の関連部分は、基本的にはこのようになります!