2017-01-26 3 views
1

Je dois créer une application pour afficher la liste des projets et les détails du projet.Django cms modèle d'URL sans apphook

Les informations sur le projet sont stockées dans une base de données distincte, qui n'est pas connectée au modèle de base.

J'ai créé deux plug-in pour afficher la liste des projets et les détails de sortie pour un projet spécifique.

pour les enseignants à coopérer chacun devrait avoir sa propre page avec une URL

r'^(?P<project_title>\w+)/$' 

Et je pensais utiliser une URL pour le choix avec le projet seront affichés dans le plugin détails du projet. Après avoir lu des documents, je n'ai trouvé qu'une seule façon de le faire. Faites-le par apphook. Mais si je vais le faire de cette façon, cela ne servira à rien d'utiliser CMS. Parce qu'en fait je ferai le même travail que je n'utiliserai pas CMS.

Donc, ma question est à propos de Y at-il une solution pour faire des URL de modèle sans utiliser apphooks.

+0

Bonjour, vous n'avez besoin que d'un apphook si vous souhaitez gérer votre point de terminaison d'application via les cms. Si je comprends bien, vous devriez être en mesure d'ajouter vos URL de l'application via un include à votre projet urls.py avant l'entrée cms urls. – Paulo

+0

Je veux utiliser le modèle parent (avec plugin) dans les pages de crochet de l'application Par exemple apphook projet nom 'project_detail' alors quand je vais à http: // url/project_detail tout ok, je peux utiliser l'éditeur cms, mais quand Je vais à http: // url/project_detail/test Je n'aurai qu'un modèle écrit dans view.py, sans aucun plugin. –

+0

Je ne peux pas répondre à votre question sans ajouter du code, mais d'abord. Créer un apphook ne perd pas le sens du CMS. Il fait exactement le contraire dans l'enseignement de votre application sur le CMS. Je recommande sérieusement de regarder cette vidéo pour en savoir plus sur l'intégration d'applications. https://youtu.be/Dj8dhgmzlFM?list=PLbNxojMo86v42AOM47uhaEFHIJFUM4d6M –

Répondre

0

Dans le modèle apphook, vous devez utiliser placeholder, il utilisera donc le modèle parent.

{% extends 'base.html' %} 
{% load cms_tags %} 

{% block content %} 
    {% placeholder "content" inherit %} 
{% endblock content %}