django复习笔记3:urls/views/templates三板斧

本文详细解析了Django项目中如何通过project urls.py 和 app urls.py 实现URL路由分离,以及如何在views.py中处理请求并返回特定模板页面。重点介绍了URL配置的最佳实践,包括使用include()函数导入app的urls.py,以及如何在模板中渲染页面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0.先看看文件结构

sh-3.2# tree -L 2 mysite/
mysite/
├── __pycache__
│   └── manage.cpython-34.pyc
├── blog
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── __pycache__
│   ├── admin.py
│   ├── admin.pyc
│   ├── migrations
│   ├── models.py
│   ├── models.pyc
│   ├── templates
│   ├── tests.py
│   ├── urls.py
│   └── views.py
├── create_data.py
├── db.sqlite3
├── manage.py
├── mysite
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── __pycache__
│   ├── settings.py
│   ├── settings.pyc
│   ├── urls.py
│   └── wsgi.py
└── templates

8 directories, 19 files

 

1.urls.py

去耦合最好的办法就是用project的urls来管理app的urls

###project中的urls.py

from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',

    url(r'^admin/', include(admin.site.urls)),
    url(r'',include('blog.urls')),
)
###app中的urls.py

from django.conf.urls import patterns, url
from blog import views

urlpatterns = patterns('',
    url(r'^$', views.post_list),
)

可以看到url(r'',include('blog.urls'))指向blog的urls,而app中的url(r'^$', views.post_list)指向了views的post_list函数。

 

2.views.py

from django.shortcuts import render# Create your views here.
def post_list(request):
    return render(request,'post_list.html',{})

可以看到views.py指向了post_list.html这个templates的页面

 

3.templates

将templates模板设置到app的根路径里,配置如下

TEMPLATE_PATH = os.path.join(BASE_DIR, 'blog/templates')

TEMPLATE_DIRS = [
    TEMPLATE_PATH,
]

其中BASE_DIR可以通过设置断点来查看到具体路径。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值