2009-07-14 11 views
23

Je veux faire une page statique qui sera montrée à l'utilisateur seulement s'il clique sur un lien fourni dans un de mes modèles. Je peux le faire en faisant une seule page Python et en l'appelant, mais je veux qu'elle soit appelée depuis Django. L'interface utilisateur doit être construite uniquement avec l'API Django.Page statique de Django?

Des suggestions?

+0

Pouvez-vous parler un peu? Par exemple. le contenu de la page statique doit-il être dans la base de données ou est-il autorisé à figurer dans un fichier? Est-ce que seuls les utilisateurs connectés sont autorisés à accéder à la page statique? –

Répondre

11

Voulez-vous dire quelque chose comme Django flatpages app? Il fait exactement ce que vous décrivez.

2

Si vous voulez faire une page statique, le flatpages est un bon choix. Cela vous permet de créer facilement du contenu statique. Créer un contenu statique n'est pas plus difficile que de créer une vue vraiment.

48

Contourner les vues pour rendre un modèle statique, ajoutez cette ligne dans "urls.py". Par exemple, « A propos de nous » pourrait être

(r'^about', 'django.views.generic.simple.direct_to_template', {'template': 'path/to/about_us.html'}), 
+0

merci ça marche c'est seulement que j'avais besoin – ha22109

+2

Nice solution simple pour lors de l'introduction de flatpages est trop –

+6

Les vues génériques basées sur les fonctions ont été abandonnées à partir de Django 1.5. Au lieu de cela, utilisez des vues basées sur les classes: https://docs.djangoproject.com/fr/1.5/topics/class-based-views/ –

49

Avec les vues basées sur les classes dans les versions plus récentes Django, on peut l'utiliser dans urls.py:

from django.views.generic import TemplateView 
url(r'^about', 
    TemplateView.as_view(template_name='path/to/about_us.html'), 
    name='about'), 
+0

Merci, cette réponse remplace désormais Rubayeets. – Linef4ult

Questions connexes