السلام عليكم ورحمة الله وبركاته
اخواني ، تابعت بعض العروض على اليوتيوب وكذلك بعض المواقع في تعلم إطار العمل Django حتى توقفت عند مشكلة لم اعرف حلها.
عملت مشروع جديد باسم mysite وعملت داخله تطبيق blog
في ملف admin داخل التطبيق كانت هذه الشفرة
from django.contrib import admin from blog.models import Post # Register your models here. admin.site.register(Post)
في ملف models كانت هذه الشفرة
from django.db import models
# Create your models here.
class Post(models.Model):
title = models.CharField(max_length = 140)
body = models.TextField()
date = models.DateTimeField()
def get_absolute_url(self):
return ('blog', [self.slug])
def __unicode__(self):
return self.titleفي ملف urls داخل التطبيق كانت هذه الشفرة
from django.conf.urls import patterns,include,url
from django.views.generic import ListView, DetailView
from blog.models import Post
urlpatterns = patterns('',
url(r'^$', ListView.as_view(
queryset=Post.objects.all().order_by("-date")[:25],
template_name="blog.html")),
url(r'^(?P<pk>\d+)$', DetailView.as_view(
model = Post,
template_name="post.html")),
)عملت ملف blog.html في مجلد داخل التطبيق وكانت هذه الشفرة
{% extends "base.html" %}
{% block content %}
{% for Post in object_list %}
<h3><a href="/blog/{{post.id}}"> {{ Post.title }}</a> </h3>
<div class = "post_meta">
on {{ Post.date }}
</div>
<div class = "post_body">
{{ Post.body|safe|linebreaks }}
</div>
{% endfor %}
{% endblock %}وعملت ملف post.html في مجلد داخل التطبيق وكانت هذه الشفرة
{% extends "base.html" %}
{% block content %}
<h3><a href="/blog/{{post.id}}">{{ post.title }}</a></h3>
<div class = "post_meta">
on {{ post.date }}
</div>
<div class = "post_body">
{{ post.body|safe|linebreaks }}
</div>
{% endblock %}الآن المشكلة وهي : لماذا لما أضغط على اسم الموضوع لا ينقلني إلى صفحة الموضوع ( ومنها يتغير رابط الصفحة إلى رقم الموضوع ) ؟
الذي يحصل أنه عندما اضغط على عنوان اي موضوع يعيد لي نفس الصفحة الرئيسية ؟
اين الخلل في الشفرات ؟
