Conception de schémas d'URL et création de modèles dans Django

Nous avons résumé de la conception du schéma d'URL dans Django à la partie affichée dans le modèle.

Spécifiez le schéma d'URL avec une expression régulière

urls.py


from django.template import Context, loader
from polls.models import Test
from django.http import HttpResponse

def index(request):
    latest_test_list = Test.objects.all().order_by('-pub_date')[:5]
    t = loader.get_template('test/index.html')
    c = Context({
        'latest_test_list': latest_test_list,
    })
    return HttpResponse(t.render(c))

Créez une URL à l'aide d'expressions régulières dans urls.py.

Comme façon de penser Django teste depuis le premier taple jusqu'à ce que l'URL demandée corresponde à l'expression canonique du tapple.

Si une expression régulière correspondante est trouvée, Django appellera la fonction de rappel spécifiée dans le taple approprié. Passez l'objet HttpRequest comme premier argument à la fonction de rappel. En outre, dans l'expression régulière, "transmettez la valeur capturée en tant qu'argument de mot-clé. Si un objet dictionnaire facultatif (qui est le troisième élément du taple) est spécifié, son contenu est également passé en tant qu'arguments de mot-clé supplémentaires.

Spécifiez le répertoire dans lequel rechercher le modèle

Définissez le répertoire qui spécifie le schéma d'URL ci-dessus dans setting.py

setting.py


TEMPLATE_DIRS = (
    '/Chemin vers le répertoire où se trouve le modèle/', #Vous devez vous adapter à votre environnement.
)

Définir le modèle et le contexte à passer en vue

Le paramétrage de l'URL est complété comme ci-dessus, mais la méthode correspondant à l'URL n'est pas définie. Définissez-le dans view.py.

from django.shortcuts import render_to_response
from polls.models import Test

def index(request):
    latest_test_list = Test.objects.all().order_by('-pub_date')[:5]
    return render_to_response('test/index.html',
                              {'latest_test_list': latest_test_list})

Enfin, définissez le modèle

Enfin, spécifiez le frontal et le design dans le modèle, Affichez le contexte passé.

templete.html


{% if latest_test_list %}
    <ul>
    {% for test in latest_test_list %}
        <li><a href="/test/{{ test.id }}/">{{ test.text }}</a></li>
    {% endfor %}
    </ul>
{% else %}
    <p>There is no test.</p>
{% endif %}

Recommended Posts

Conception de schémas d'URL et création de modèles dans Django
PHP comme var_dump dans le template Django
Gérer les constantes dans les modèles Django
Remarques sur la création de fichiers statiques avec Django
Spécifiez l'URL de la vue dans le modèle Django
Créer les paramètres initiaux et les applications de personnel dans Django
GAE & GCS & Django avec URL d'image vide
Modèle dans Django
Formulaire à Django
Paramètres d'URL de Django
Code qui énumère les noms de vue des résolveurs d'URL dans Django
Comment utiliser Decorator dans Django et comment le créer
Plugins Vim petits et astucieux utiles en Python / Django