我在 settings.py 中找不到 TEMPLATE_DIR ,告诉我的模板文件在哪里。
此外,当我转到我的 index.html (您可以在下面看到)时,解析不起作用(对于exacmle {{ title }}
,您可以在下面的中看到views.py )。
为什么({{title }}
)不有效?
我认为我如此接近使其成功,但我不能。
另外,我在SO中找不到任何相关主题。
<小时/> 但我明白这一点:
<小时/> index.html看起来像:
<小时/> index.html来源:
<!DOCTYPE html>
<html>
<body>
<h1>My First Heading</h1>
<div class="container">
<h1>First Blog </h1>
<h2>{{ title }}</h2>
<h3>Posted on {{ date }} by {{ author }}</h3>
<p>{{ body }}</p>
</div>
</body>
</html>
<小时/> view.py 如下所示:
# Create your views here.
from django.shortcuts import render_to_response
from blog.models import posts
def home(request):
return render_to_response('index.html' {'title :'My First Post'})
~
<小时/> models.py 似乎是这样的:
from django.db import models
# Create your models here.
class posts(models.Model):
author = models.CharField(max_lenght = 30)
title = models.CharField(max_lenght = 100)
bodytext = models.TextField()
timestamp = models.DateTimeField()
安装了Python 2.7.2
user@domain.com [~]# python -V
Python 2.7.2
安装了Django 1.5
user@domain.com [~]# python
Python 2.7.2 (default, Mar 27 2013, 12:07:49)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from django import get_version
>>> get_version()
'1.5'
我had problems about creating my project (django-admin.py startpriject mysite),
username@domain.com [~/www/domain/]# django-admin.py startproject mysite
-bash: django-admin.py: command not found
这是一个 PATH 问题,最后是solved,感谢SO,我已经成功创建了我的项目。
然后我像这样修改了models.py(创建一个简单的博客):
from django.db import models
# Create your models here.
class posts(models.Model):
author = models.CharField(max_lenght = 30)
title = models.CharField(max_lenght = 100)
bodytext = models.TextField()
timestamp = models.DateTimeField()
安装了MySQL-python 1.2.4
username@domain.com [~]# python
Python 2.7.2 (default, Mar 27 2013, 12:07:49)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>>
我创建了一个 mysql数据库和一个用户,将用户添加到数据库并提供了所有权限(在bluehost前端面板中完成)。
我had problems about database update,
python manage.py syncdb
感谢SO,that has been also solved。
user@domain.com [~/www/domain/mysite]# python manage.py syncdb
Creating tables ...
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_groups
Creating table auth_user_user_permissions
Creating table auth_user Creating table django_content_type
Creating table django_session
Creating table django_site
You just installed Django's auth system, which means you don't have any superusers defined. Would you like to create one now? (yes/no):
为什么({{title}})不有效?
我应该改变什么?
我应该重新安装吗?
答案 0 :(得分:1)
正如马蒂亚斯在评论中所说,它看起来并不像你实际上正在调用Django那些 - 这些是正常的Apache目录索引(所以Django自然不会解析模板,因为它甚至没有被召唤。)
由于您刚刚开始,您根本不应该使用Apache,而是按照教程中的说明启动本地开发服务器(./manage.py runserver
)。
答案 1 :(得分:0)
试试这个:
进口:
from django.shortcuts import render_to_response, RequestContext
Views.py:
return render_to_response('index.html', {'title' :Your_variable_name}, context_instance=RequestContext(request))
在模板中这样调用:
{{ title }}
答案 2 :(得分:0)
您应该使用render
快捷方式。
from django.shortcuts import render
def my_view(request):
return render(request, 'index.htm', {'title': 'Hey!'})
这具有将请求实例添加到强制使用RequestContext的上下文中的附加优点。在此处阅读:https://docs.djangoproject.com/en/dev/topics/http/shortcuts/#render