2010-08-04 2 views
1

Если я хочу, чтобы вставить переменную% S в этомДжанго формат строки

<p><img src= %s alt="tetris"/></p> 

У меня есть проблема, что если я использую "%s", оно не распознает его как placholder это. Заметь использовать %s wont ссылку на мое изображение.

Есть ли способ обойти это? Я попытался вставить URL-адрес, который вставляется там, как это, в базу данных ''/url/''. Но это тоже не поможет. Любые предложения?

@thomas:

from django.http import HttpResponse 
from django.contrib.auth.models import User 
from favorites.models import * 

def main_page_favorites(request): 
    title = Favorite.objects.get(id=1).title.upper() 
    email = User.objects.get(username='Me').email 
    image = Hyperlink.objects.get(id=3).url 
    output = ''' 
     <html> 
      <head> 
       <title> 
        Connecting to the model 
       </title> 
      </head> 
      <body> 
       <h1> 
       Connecting to the model 
       </h1> 
       We will use this model to connect to the model! 

       <p>Here is the title of the first favorite: %s</p> 
           <p>Here is your email: %s </p> 
           <p>Here is the url: %s </p> 
           <p>Here is the url embedded in an image: <p><img src= %s alt="tetris"/></p> 

      </body> 
     </html>''' % ( 
      title, email, image, image 
     ) 
    return HttpResponse(output) 
+0

Можете привести пример кода? ''

tetris

'%" foo.jpg "' работает хорошо. –

+0

Извините. Забыл сказать, что я извлекаю эту переменную из базы данных. поэтому% s заменяется изображением. И изображение деформировано следующим образом: image = Hyperlink.objects.get (id = 3) .url – MacPython

+1

Все еще не должно быть никаких проблем. Можете ли вы вставить точный код из своего сценария? –

ответ

1

Может быть, вы должны смотреть в шаблоны, которые включены в Джанго. Они обеспечивают гораздо более удобный код.

from django.shortcuts import render_to_response 
from django.template import RequestContext 

def view(request): 
    user = request.user 
    return render_to_response('template.html', { 
     'user':user, 
    }, context_instance=RequestContext(request) 

И тогда в вашем template.html файл в вашем templates каталоге:

<html> 
    <!-- snip --> 
    <body> 
    Here is your email: {{ user.email }} 
    </body> 
</html> 

Bonus: текстовый редактор, вероятно, подчеркнуть ваш синтаксис HTML.

+0

Спасибо! Я знаю систему шаблонов. Но поскольку я изучаю, как писать в базу данных, лучше начать с основ. – MacPython

Смежные вопросы