Résolue

Erreur 404 sur object.get

# Résolution d'erreurs # Django

Bonjour, je n'arrrive pas récuperé le fichier template sur ma page.

ça ne récupere que la 1er fonction def blog_posts

mais la 2eme def blog_post(request, slug) non.

merci

Gabriel Trouvé

Mentor

Salut, dans la première tu fais juste un HttpResponse. Pas de soucis.

Pour la deuxième fonction

from django.shortcuts import render

def blog_post(request, slug):
    # Ta requête ici
    return render(request, "landing/index.html")

Il faut return render comme tu peux le voir.
Et normalement tout est bon :)


Salut Gabriel,
voici mon code post.htlm

ça me renvoie toujours la 1er fonction.

et pour urls voici mon code

merci

Gabriel Trouvé

Mentor

déjà modifie blog_post :

from django.shortcuts import render

def blog_post(request, slug):
    post = BlogPost.objects.get(slug=slug)
    return render(request, "blog/post.html", {"blog_post": post})

Utilises un render comme ceci plus traditionnel :)

Et ensuite sur quel lien tu cliques pour dire que ça te renvoie vers la première fonction ?

bonjour,
je clique sur le runserver.
je ne vois pas le fichier templates comme sur le site comme sur le video

j'avance sur les gabarits, je reste pas bloqué sur une chose,
ça permet d'apprendre les gabarits.

ça marchera plus tard.

Merci

Ok c'est tout à fait normal ton problème. En cliquant sur le lien qui est généré par ton runserver, tu arrives sur l'url de "l'index" de ton site.

J'imagine que tu as un fichier d'urls au niveau de ton projet avec comme chemin juste "", qui renvoie vers une vue d'index.

Dans blog_posts il te faudrait un queryset pour récupérer tous les articles du genre :

posts = BlogPost.objects.all()

Puis les envoyer dans un contexte. Ainsi, après tu peux boucler sur les articles, puis récupérer pour chaque article le PK, et créer un lien vers blog_post en spécifiant ton nom d'url, et le pk.

Pour accéder à un article en particulier, tu as besoin d'un pk d'un des articles. Est-ce que tu as créé des articles dans ta base ?

Si oui tu peux y accéder en faisant : http://127.0.0.1:8000/blog/1

Quel est ton pseudo discord ? ce soir je te fais une vidéo explicative et je te tag sur le discord

Tiens, voici une vidéo, si je vais trop vite dis le et on revoit ça :

https://youtu.be/cTePr805ByU

Bonjour
mon serveur discord
jeremybeachmountains_78578.

l'ai bien réussi avec l'index, ma base de donné tablePlus à bien eté mis à jour,
Le pK du titre se trouve à la ligne 9. !
et le super article ne s'affiche pas

merci je suis entrain de voir.

Gabriel Trouvé

Mentor

Et si tu cliques sur clique ici c'est ok ?

bonjour,
je clique bien sur clique ici,
Il fallait modifier le post.html et lui rentrée une balise H1.
ça fontionne les liens et les fichier.

Après avec cette méthode , la page d'accueil fonctionne, le lien aussi.
J'ai bien le codage c'est une toile araignée.

Gabriel Trouvé

Mentor

ok, et le body de l´article s´affiche aussi ?

Bonjour, non le body de l'article ne s'affiche pas.
j'y reviendrai plus tard, j'avance dans les gabarits.

merci

Gabriel Trouvé

Mentor

ok à l´occasion faudrait que je regarde ton modèle du coup

Bonjours, voici mon modele.

merci

Gabriel Trouvé

Mentor

Car dans le template tu utilises l'attribut body.

Cependant je ne vois pas tout ton modèle, mais je n'ai pas l'impression que ton modèle possède un attribut body.

Le champ pour le contenu de l'article c'est bien content ? Si oui dans le template ça serait {{ post.content }}

Bonjour,
non mon modèle ne possède pas d'attribut body.

il faut que je le rajoute?
merci

Tout dépend comment tu veux le construire. Tu as un titre title, tu veux le contenu de l'article dans quoi ? Il me semble que tu as un champ content.
A ce moment là dans le template tu peux faire {{ post.content }}

Bonjour, je veux que le l'article html soit en dessous du titre,

je verrais plus tard, j'avance dans le projet.

merci

Gabriel Trouvé

Mentor

Pour l´ordre des elements, tout depend de toi comment tu les organises dans le template.
si le content est placé en dessous du title, le titre sera bien au dessus.

Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.