每个视图负责两件事情之一: 要么为请求的页面返回一个 包含内容的HttpResponse对象 ,要么返回像 Http404这样的错误. 剩余的就取决于你.
打开views.py 在brands函数中的内容替换成
def brands(request, brands_id):
brand_list = Brands.objects.all()
output = ','.join([b.name_text for b in brand_list])
return HttpResponse(output)
在页面中访问 http://127.0.0.1:8080/car/brands/1/
问题:现在页面内容是硬编码的,如果想要改变页面样子需要更改Python代码,所以使用django模板
把设计从Python代码中分离出来
step1 # 打开brands模块 创建一个名字叫templates的目录,django会在这个目录中寻找模板
在template目录中创建和当前模块名称相同的目录
在目录中创建模板文件 如图:
step2 # 在index.html模板中写html代码 和渲染数据的Python代码
{% if brands_list %}
<ul>
{% for b in brands_list %}
<li>
<a href="{{b.id}}">
{{b.name_text}}
</a>
</li>
{% endfor %}
</ul>
{% else %}
<p>暂无数据</p>
{% endif %}
step3 # 在view中编写逻辑代码
def brands(request, brands_id):
template = loader.get_template('brands/index.html')
context = {"brands_list": Brands.objects.all()}
return HttpResponse(template.render(context,request))
step4 # 浏览器中访问 http://127.0.0.1:8080/car/brands/1