Django中URL和View的关系
2018-03-02 09:12
399 查看
URL和View的关系
每次用户发来一个HttpRequest请求,Django会用URL_pattern与请求进行匹配,匹配到第一个URL_pattern就会把请求转向对应的viewview用来响应request,并返回response,response里可以包含网页文件呀,图片等等。所以项目中绝大部分代码均在此编写。
view 可以引入通用模板来减少代码量,具体查看文档
Use generic views
view引入HTML文件的方法:
在一个app下建立一个templates文件夹,将html文件放进去该文件夹
这里其实不一定要把HTML文件放在这个templates里,可以随意定义
不过,需要在setting.py里,找到templates,修改DIRS:[ os.path.join (BASE_DIR,'你定义的html存放的文件夹')]
在app下 view.py 文件,在里面写好view函数
def 函数名(request):
return render(request,'index.html')
render(渲染)需要三个变量, 第一个变量是request请求,第二个是模版所在目录,第三个是一个字典(可选),字典用于对应模板里设计的变量,可以用locals()将函数里设计的变量自动转换为字典
在对于app下创建一个urls.py ,写入如下内容from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
在项目文件夹里找到 urls.py 加入如下内容
from django.urls import include, path urlpatterns = [ path('polls/', include('polls.urls')), path('admin/', admin.site.urls), ]对于<a>标签里的 href 可以用
{% url 'url名' %}来代替,url名指的是 urls.py 里的
path('login.html/', views.my_login, name='url名'),Django 中通常使用
get_object_or_404()来捕捉 404 错误,而不用自己写 try...exceptdef detail(request, question_id):
question = get_object_or_404(Question, pk=question_id)
return render(request, 'polls/detail.html', {'question': question})
相关文章推荐
- Django DetailView 多重继承 关系整理
- Django's URL Configuration String View in 1.10+
- django在DetailView中如何在接收在url中get传入的多个参数值
- django下不通过view直接从url跳转到template
- Django url - view - template NOTE
- python2.0_day16_django_url_view_models_template介绍
- django中url与view配置方法
- Django ------ 高级 view 和 URLconf 配置 URLconf的技巧
- Django ------ 高级 view 和 URLconf 配置 额外URLconf参数技术应用到自己的工程
- ⑥Windows系统下Django1.4 --设计URL、view、template、404、505
- django中url的基本含义、配置与视图的关系
- django官方文档——模型字段关系参考
- Android的webview加载本地html、assert内html和收集URL
- loadView、viewDidLoad及viewDidUnload的关系
- django_book学习笔记2-视图和URL配置
- http和URL关系
- CodeIgniter web框架学习(1)-- view、controller之间的关系,及静态页面的加载实例
- MFC中的MainFrame Dlg,App,Doc,View的关系
- Django进阶——高级视图和url配置
- Android进阶笔记08:Android 中Activity、Window和View之间的关系