2016-06-25 15 views
0

Am versuchen, eine Variable in einer URL in meiner urls.py Datei zu fangen, es dann an eine Funktion in meinen Ansichten Datei, wo ich es als eine Zeichenfolge verwenden möge:Warum wird Variable, die in der Django-URL übergeben wird, nicht als String erkannt?

# urls.py 
from django.conf.urls import url 
from . import views 

urlpatterns = [ 
    url(r'^posts/(?P<title>)', views.blog_ronn_post, name='blog_ronn_post'), 
] 

# views.py 
from django.http import HttpResponse 

def blog_ronn_post(request, title): 
    html = "<html><body>This is the page for the blog titled: {s} </body></html>".format(title) 
    return HttpResponse(html) 

diese doesn‘Allerdings t arbeiten. In meinem Entwicklungs-Browser wird der HTML-Code angezeigt, aber nach dem letzten Doppelpunkt wird nichts angezeigt. Ich glaube nicht, gibt es ein Problem mit meinem Python 3 Syntax, als ob ich versuche, eine Zeichenfolge im Format Klammern zu verwenden, zB:

html = "<html><body>This is the page for the blog titled: {s} </body></html>".format('Title 1') 

es funktioniert, zeigte „... den Titel: Titel 1“. Also, warum passiert es nicht meine Titel Zeichenfolge? Ich habe es verstanden, dass Titel von URL zu Ansichten als Zeichenfolge übergeben wird, so sollte es kein Problem geben. Neu bei Django also Entschuldigung, wenn ich einen offensichtlichen Fehler mache.

Antwort

3

Weil Sie es nicht passend gegeben haben.

r'^posts/(?P<title>\w+)$' 
+0

Großartig, danke. –