1. 一个呈现静态“关于”页面的URLconf
from django.conf.urls.defaults import *
from django.views.generic.simple import direct_to_template
urlpatterns = patterns('',
('^about/$', direct_to_template, {
'template': 'about.html'
})
)
注意:页面有中文,模板文件请使用UTF-8编码
2. 在我们自己的视图中重用它
from django.conf.urls.defaults import
from django.views.generic.simple import direct_to_template
from mysite.views import *
urlpatterns = patterns('',
('^about/$', direct_to_template, {
'template': 'about.html'
}),
('^about/(\w+)/$', about_pages),
)
from django.http import Http404
from django.template import TemplateDoesNotExist
from django.views.generic.simple import direct_to_template
def about_pages(request, page):
try:
return direct_to_template(request, template="about/%s.html" % page)
except TemplateDoesNotExist:
raise Http404()
3. 对象的通用视图
from django.views.generic import list_detail
from mysite.books.models import *
publisher_info = {
"queryset" : Publisher.objects.all(),
"template_object_name" : "publisher",
"template_name" : "books/publisher_list.html",
"extra_context" : {"book_list" : Book.objects.all()}
}
urlpatterns = patterns('',
(r'^publishers/$', list_detail.object_list, publisher_info)
)
{% extends "base.html" %}
{% block content %}
<h2>Publishers</h2>
<ul>
{% for publisher in publisher_list %}
<li>{{ publisher.name }}</li>
{% endfor %}
</ul>
{% endblock %}
注意publisher_info各参数的默认值,template_object_name默认为object_list,template_name默认为books/publisher_list.html,注意结果的缓存问题
4. 显示某个出版商的所有书籍
urlpatterns = patterns('',
(r'^publishers/$', list_detail.object_list, publisher_info),
(r'^books/(\w+)/$', books_by_publisher),
)
from django.views.generic import list_detail
from mysite.books.models import *
def books_by_publisher(request, name):
# Look up the publisher (and raise a 404 if it can't be found).
try:
publisher = Publisher.objects.get(name__iexact=name)
except Publisher.DoesNotExist:
raise Http404
# Use the object_list view for the heavy lifting.
return list_detail.object_list(
request,
queryset = Book.objects.filter(publisher=publisher),
template_name = "books/books_by_publisher.html",
template_object_name = "books",
extra_context = {"publisher" : publisher}
)
{% extends "base.html" %}
{% block content %}
<h2>{{publisher.name}} Book List</h2>
<ul>
{% for book in books_list %}
<li>{{ book.title }}</li>
{% endfor %}
</ul>
{% endblock %}
分享到:
相关推荐
**知识点7:Django与数据库交互** - **连接数据库:** - Django支持多种数据库,包括SQLite、MySQL、PostgreSQL等。 - 在`settings.py`中配置数据库连接参数。 - 使用Django ORM进行数据库操作。 以上就是从...
django mongogeneric mongoengine文档的基于类的通用视图。笔记并非Django提供的所有视图都已实现。 如果发现缺少mixin或视图,请随时实现它们并提供拉取请求:-)要求的Django> = 1.3 > = 0.6 已实施的意见详细视图...
通过以上描述,我们可以了解到,这个基于Django的Web记事本项目涵盖了Web开发中的许多关键知识点,不仅涉及到Django框架的核心组件,也包括了Web开发的通用流程,对于提升开发者对Web应用开发的理解和实践能力具有...
1. **通用类视图基类**: Django提供了基础的类视图基类`django.views.generic.View`,这个基类为所有的类视图提供了一些基本的功能和方法。 2. **路由配置**: 在`urls.py`文件中,通过调用类视图的`as_view()`方法来...
【压缩包子文件的文件名称列表】"ForPresenTation_Django-main" 提示我们这是一个主要的文件夹,可能包含了整个Django教程或演示的主体内容,比如代码示例、幻灯片、笔记或其他辅助材料。 基于以上信息,我们可以...
10. **Web开发**:Python的Django和Flask框架常用于Web应用开发,它们提供了模型-视图-控制器(MVC)架构,简化了Web应用程序的构建。 11. **科学计算与数据分析**:Python在科学计算领域有广泛的应用,如使用NumPy...
Django则是一个全功能的Web框架,提供模型-视图-控制器(MVC)架构,支持数据库操作、表单处理和身份验证等功能。 在【描述】中提到的“自我学习笔记”,意味着这份资料可能包含了作者在学习过程中整理的概念、代码...
- 由于采用Python而非Java,该项目的通用性较低,可能不适合一些企业需求。 这个简易网银管理系统展示了如何利用Python和Django构建Web应用,以及如何与MySQL数据库进行交互。虽然存在一些局限性,但该项目为初学...
Django是一个功能完备的MVC框架,提供模型-视图-控制器架构,内置ORM(对象关系映射),支持数据库操作,同时包含身份验证和管理后台等功能。Flask则更轻量级,适用于快速构建小型应用,可通过插件扩展功能。 3. **...
学习Django意味着深入理解如何定义模型来存储数据,创建视图来处理请求,以及配置模板来呈现复杂网页。 **Jupyter Notebook** Jupyter Notebook是一个交互式计算环境,允许开发者结合代码、文本、数学方程式和可视...
这个"flask资料-B站.zip"压缩包文件包含了与Flask相关的学习资料,可能是课程笔记、代码示例或者讲解视频的补充材料。通过视频链接()可以获取更深入的讲解和实践指导。 **Flask的核心概念:** 1. **微型框架**:...
Django提供了一个MVC(模型-视图-控制器)架构,而Flask则更为轻量级,适合快速构建小型应用。 在数据分析领域,Python的Pandas库提供了DataFrame对象,便于数据清洗、预处理和分析。NumPy则提供了高效的多维数组...
Python作为一种通用且易学的编程语言,其丰富的库资源使得数值计算变得简单易行。在"FinalProcesosNumericos"中,开发者可能利用了如NumPy、SciPy和Pandas等Python库,它们提供了强大的数据处理和数学运算功能,可以...