from django.shortcuts import render_to_response
from django.shortcuts import get_object_or_404
from django.shortcuts import get_list_or_404
from django.template.context import RequestContext
from articles.models import Article
def index(request):
articles = get_list_or_404(Article)
return render_to_response(
'articles/index.html',
{"articles": articles},
context_instance=RequestContext(request),
mimetype="application/xhtml+xml")
def article(request, article_id):
article = get_object_or_404(Article, pk=article_id)
return render_to_response(
'articles/article.html',
{"article": article},
context_instance=RequestContext(request),
mimetype="application/xhtml+xml")
modèles
from django.db import models
from django.contrib.auth.models import User
import datetime
class Article(models.Model):
"""
Article model
"""
title = models.CharField(blank=True, max_length=200)
slug = models.SlugField()
body = models.TextField(blank=True)
created = models.DateTimeField(blank=True, default=datetime.datetime.now)
author = models.ForeignKey(User)
def __unicode__(self):
return "%s" % (self.title)
@property
def handle(self):
return self.slug
urls
from django.conf.urls.defaults import *
urlpatterns = patterns('',
url(
r'^$',
'articles.views.index',
name="articles_index"
),
url(
r'^article/(?P<article_id>\d*)$',
'articles.views.article',
name="article_view",
),
)
urls racine
from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()
from settings import PROJECT_ROOT
urlpatterns = patterns('',
(r'^admin/', include(admin.site.urls)),
)
urlpatterns += patterns('',
(r'^articles/', include('articles.urls')),
)
urlpatterns += patterns('',
(r'^site_media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': PROJECT_ROOT + "/media"}),
)
Auriez-vous besoin de voir plus? J'ai eu une théorie que le mot «article» pourrait avoir été en conflit avec quelque chose, que j'ai essayé de renommer cela en vain.
Ceci est censé être juste une petite «application de jeu» sur laquelle j'apprends. Mais maintenant je suis coincé.
film: python manage.py runserver_plus
http://127.0.0.1:8000/admin (vues fonctionnent ok) http://127.0.0.1:8000/articles (plante python à chaque fois)
Tout à fait un exercice de tirer les cheveux ... aide très appréciée
modifier
le rapport d'erreur:
Merci beaucoup!
Publiez la traceback générée lorsque le python se bloque. –
Rien ne me saute aux yeux, mais je ne suis pas un ordinateur - postez le retraçage! –
Je suis désolé, il n'y a pas traceback !! Assez curieux. Bien, il y a le rapport d'erreur que je peux envoyer à mac. Un moment. – Daryl