Django View和URL

网页程序的逻辑:request进来 -> 从服务器获取数据 -> 处理数据 -> 把网页呈现出来

 

url 设置相当于客户端向服务器发出request请求的入口,并用来指明要调用的程序逻辑

views 用来处理程序逻辑,然后呈现到template(一般为GET方法,POST方法略有不同)

template 一般为html+CSS的形式,主要是呈现给用户的表现形式

 

Django中views里面的代码时一个一个函数逻辑,处理客户端(浏览器)发送的HTTPRequest,然后返回HTTPResponse。

那么开始在my_blog/article/views.py中编写简单的逻辑

 

 

 
  1. from django.shortcuts import render

  2. from django.http import HttpResponse

  3. # Create your views here.

  4. def home(request):

  5. return HttpResponse("Hello World, Django")


 

 

如何使这个逻辑在http请求进入时被调用,这里需要在my_blog/my_blog/urls.py中进行url设置

 

 

 
  1. # -*- coding: utf-8 -*-

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

  3. from django.contrib import admin

  4.  
  5. urlpatterns = [

  6. # url(r'^$', 'article.views.home'),

  7. # url(r'^(?P<my_args>\d+)/$', 'article.views.detail', name='detail'),

  8. url(r'^admin/', admin.site.urls),

  9. url(r'^$', 'article.views.home'),

  10. ]


 

 

url() 函数有四个参数,两个是必须的:regex和views,两个可选的:kwargs和name

regex是regular expression的简写,这是字符串中的模式匹配的一种语法,Django将请求的URL从上至下依次匹配列表中的正则表达式,直到匹配到一个为止。

view当Django匹配了一个正则表达式就会调用指定的view逻辑,上面代码中会调用article/views.py中的home函数

kwargs任意关键字参数可传一个字典至目标view

name命名你的URL,使url在Django的其他地方使用,特别是在模块中

 

很多时候我们希望给view中的函数逻辑传入参数,从而呈现我们想要的结果

现在再my_blog/article/views.py 加入如下代码:

 

 

 
  1. def detail(request, my_args):

  2. return HttpResponse("You're looking at my_args %s." % my_args)


 

 

在my_blog/my_blog/urls.py 中设置对应的url

 

 
  1. urlpatterns = [

  2. # url(r'^$', 'article.views.home'),

  3. # url(r'^(?P<my_args>\d+)/$', 'article.views.detail', name='detail'),

  4. url(r'^admin/', admin.site.urls),

  5. url(r'^$', 'article.views.home'),

  6. url(r'^(?P<my_args>\d+)/$', 'article.views.detail', name='detail'),

  7. ]

 

 

^(?P<my_args>\d+)/$这个正则表达式的意思是将传入的一位或者多位数字作为参数传递到views中的detail作为参数, 其中?P<my_args>定义名称用于标识匹配的内容

转载自https://blog.csdn.net/xiaoquantouer/article/details/51792860

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568636.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Django配置bootstrap

1、下载bootstrap文件。https://getbootstrap.com/docs/3.3/getting-started/ 下载的文件夹可以看出有css、fonts、js三个文件&#xff0c;这就是Bootstrap 3的全部 2、 自定义静态文件&#xff08;css&#xff0c;js&#xff0c;image&#xff09;位置 根目录下新建 static…

同步与异步以及线程与进程

写过爬虫的都知道&#xff0c;爬虫的性能瓶颈在于IO&#xff0c;因为爬虫是一个IO密集型业务&#xff0c;程序需要发起网络请求&#xff0c;必然就有IO阻塞&#xff0c; 通常请求一个URL耗时要几百毫秒到几秒不等&#xff0c;而我们的CPU处理速度惊人&#xff0c;两者的速度就好…

Django 新建account应用

一、应用基本配置 1、在根目录下新建account应用。python manage.py startapp account 2、在项目根目录的项目目录的setting下的INSTALLED_APPS中添加 ‘account’ 3、在项目根目录的项目目录的url.py中进行URL配置。添加 url(r^account/,include(account.urls,namespaceac…

【Python爬虫】Windows环境下wxpy不需每次登陆重新扫描

有时候我们想每天向你女朋友或者某人发送一条信息&#xff08;通过线程控制或者每天自动任务&#xff09;;此外我们可以通过更改wxpy中Bot()中参数&#xff0c;保存缓存不用每次都扫描二维码。 以下代码来源于&#xff1a;http://www.cnblogs.com/botoo/p/8622379.html from …

pycharm中windows找不到chrome解决办法

这种问题主要是因为在pycharm中关于chrome的安装路径配置不正确造成的&#xff0c;具体的解决办法为&#xff1a; 打开pycharm–》File–》setting–》Tools–》Web Browsers 然后添加chrome安装路径&#xff0c;然后就成功啦~ 转载自&#xff1a;https://blog.csdn.net/csz…

Win10系统设置任务计划执行python脚本

上一篇文章说了通过Python中的wxpy在微信每天发送一条消息到女朋友或者某个人&#xff0c;通过线程方式每天发送次消息。 这里主要说如何通过window10自带的“任务计划程序”&#xff0c;每天在指定时间发送一条消息。 1. 首先通过windows 10系统左下角输入框输入“任务计划程…

bootstrap里col-xs , col-sm ,col-md,col-lg的区别

前言 对于一些初学boostrap的同学来说&#xff0c;肯定也像我一样傻傻的搞不懂col--*都是要怎么使用吧&#xff0c;我刚开始也表示一脸懵逼&#xff0c;后来查阅了这篇文章才搞懂了他们之间的区别&#xff0c;我整理了一下供大家一起学习。 摘要: bootstrap栅栏系统css中的col…

【Word 】隐藏功能生成特殊线

有时候在用word进行文字处理时&#xff0c;有一些方法可以快速生成特殊的线&#xff0c;以下是具体的一些方法&#xff1a; 1.输入3个“”&#xff0c;再按回车键Enter&#xff0c;生成一条双直线 2.输入3个“~~~”&#xff0c;再按回车键Enter&#xff0c;生成一条波浪线 3.输…

Django - - - -视图层之视图函数(views)

阅读目录(Content) 视图层之视图函数(views) 一个简单的视图1.HttpRequest2.HttpResponse 1.render 函数 2.redirect 函数对比render与redirect&#xff1a; 回到顶部(go to top) 视图层之视图函数(views) 一个视图函数&#xff0c;简称视图&#xff0c;是一个简单的Python …

【Excel】设计简单抽奖小程序

其实我们可以通过excel做一个抽奖的小程序。比如搞活动送奖品&#xff0c;我们就可以通过这个小程序抽中奖名单 中奖名单下面输入“INDIRECT("A"&RANDBETWEEN(4,12))”&#xff0c;然后按F9进行抽奖 其中用到了两个函数INDIRECT(单元格引用&#xff0c;[引用样式…

python manage.py syncdb Unknown command: 'syncdb'问题解决方法

在django1.9后的版本中&#xff0c;python manage.py syncdb命令修改为python manage.py migrate&#xff0c;执行正常。 转载自https://blog.csdn.net/u010309756/article/details/53486924

【Python】retrying模块使用场景

大家在做数据抓取或者用selenium自动化进行元素定位的时候&#xff0c;经常遇到由于网络问题导致的抓取数据失败&#xff0c;或者定位元素失败。 针对这种情况&#xff0c;我们可以通过设置等待时间去控制&#xff0c;其实还有一种方法&#xff0c;就是使用retrying&#xff0c…

Django连接现有mysql数据库

1、打开cmd后cd到项目位置 2、建立项目 django-admin startproject test2 3、编辑项目中的配置文件, mysite/settings.py ,告诉Django你的数据库连接参数和数据库名。具体的说&#xff0c;要提供 DATABASE_NAME , DATABASE_ENGINE , DATABASE_USER , DATABASE_PASSWORD , DATA…

【Python】Pygame模块设计游戏

Pygame是一个跨平台Python模块&#xff0c;专为电子游戏设计&#xff0c;包含图像、声音。建立在SDL基础上&#xff0c;允许实时电子游戏研发而无需被低级语言&#xff08;如机器语言和汇编语言&#xff09;束缚。 Pygame的历史 Pygame是一个利用SDL库的写就的游戏库&#xff…

Django 入门

1.用cmd cd到文件的目录下 2、运行python manage.py runserver 0.0.0.0:8000 即可启动服务器 3、在网页中输入127.0.0.1/hello 或者127.0.0.1即可 Helloworld项目&#xff1a; 超级用户名&#xff1a;admin 密码&#xff1a;******** 创建Django项目&#xff1a; 1、用cmd命令行…

【Python爬虫】下载微信公众号图片

大家用爬虫下载图片时肯定遇到过https://demo?wx_fmtjpeg链接的图片&#xff0c;常见的就是微信公众号的图片。 遇到链接图片用普通的方式是无法爬取下来的&#xff0c;我们可以用urllib.request进行简单爬取&#xff0c;具体源码如下&#xff1a; # 2018年10月07日 13点30分…

关于Django中的数据库操作API之distinct去重的一个误传

django提供的数据库操作API中的distinct()函数&#xff0c;了解SQL语句的读者都应该知道&#xff0c;DISTINCT关键字可以在select操作时去重。django里的这个distinct()函数也是这个功能&#xff0c;通常的用法是我们要取出一张表中的某一列的所有值&#xff0c;并且只取出不重…

【工具】Jupyter Notebook介绍

在数据分析的道路上&#xff0c;你一定曾有过为新发现而激动不已的时刻&#xff0c;此时你急于将自己的发现告诉大家&#xff0c;却遇到了这样的问题&#xff1a;如何将我的分析过程清晰地表述出来呢&#xff1f; 为了能与同行们有效沟通&#xff0c;你需要重现整个分析过程&am…

Django模板之显示QuerySet内容,字典中内容

camera和idproject都为QuerySet&#xff0c;如下图为验证 camera内容显示方法为&#xff1a; 可以看出idproject中迭代为dict类型。HTML中读写形式为&#xff1a; 显示结果&#xff1a; 参考自 https://blog.csdn.net/gaoxiaoba/article/details/52469614

Python操作文件和目录

读写文件比较简单&#xff0c;有一点特别注意就好了 windows下Python默认打开的文件以gbk解码&#xff0c;而一般我们的文件是utf-8编码的&#xff0c;所以如果文本含有中文&#xff0c;就会出现异常或者乱码。此时手动添加encodingutf-8表示以utf-8的方式打开。 当然Python写…