第一节:简单的请求(Requests)和响应(Responses)

  目录

  • 创建项目
  • 开发服务器
  • 创建名称为Polls的应用
  • 编写你的第一个视图

创建项目

在命令行中,使用cd命令进入到你想要存储你的项目的目录,然后运行下面的命令:

$ django-admin startproject mysite

这将在你的当前工作目录下创建一个mysite的目录,让我们来看创建的项目结构:

这些文件是:

  • 最外面的mysite/就是你创建项目的根目录,对于Django而言这个名字起什么都可以,你可以换成任何你喜欢的名字。
  • manage.py:一个实用的命令行工具,可以让你和这个Django项目进行交互
  • 里面的mysite/ 目录是你的项目的实际Python包,它的名字是你在任何地方需要使用它导入的Python包名
  • mysite/__init__.py:一个空文件告诉Python这个目录应该被视为一个Python package。
  • mysite/settings.py:Django项目的配置文件。
  • mysite/urls.py:Django项目的url声明,用来映射视图中的一个函数
  • mysite/wsgi.py:WSGI兼容的web服务器如何,部署的时候会用到

开发服务器

让我们切换到manage.py所在的目录,然后运行下面的命令:

$ python manage.py runserver

你在命令行看到如下输出:

注意:请忽略输出内容中的红色区域关于数据库未迁移的警告,在后面的教程会讲到

现在Django开发服务已经运行起来了,这是一个用python编写的轻量级的web服务器,这便于你进行开发测试,不用部署生产环境用的Web服务器,比如、apache

现在在浏览器打开http://127.0.0.1:8000,你将可以看到“Welcome to Django”的页面,如下图:

  修改端口

  默认情况下,runserver在内部IP启动开发服务器,端口8000。

  如果你想要修改服务器的端口,将端口作为命令参数。例如,我们在8080端口启动服务器

$ python manage.py runserver 8080

  如果你想要修改服务器的IP,把IP和端口作为参数(eg. 192.168.0.10:8080),例如监控所有的IP

$ python manage.py runserver 0.0.0.0:8080

创建名称为Polls的应用

每次编写的应用是由一个遵循一定规则的Python包组成,Django自带了一个实用工具来自动生成一个应用的基本目录结构,这样你可以专注编写逻辑代码,而不用创建目录了。

项目(project)和应用(apps)

项目和应用有什么不同呢?一个应用是一个Web应用程序,例如,一个博客系统,一个公共记录的数据库或一个简单的投票应用。一个项目是配置和站点应用的集合。一个项目可以包括多个应用。一个应用可以在多个项目使用。

在命令行进入项目的manage.py的目录,创建应用:

$ python manage.py startapp polls

这将创建一个polls的目录,如下:

编写你的第一个视图

让我们编写第一个视图,打开文件polls/views.py,并输入如下Python代码:

from django.http import HttpResponse

def index(request):
    return HttpResponse(“Hello,world. You’re at the polls index”)

这是Django最简单的视图,要想调用它我们需要映射它到一个url,因此需要一个url配置。

那么在polls目录创建名称为urls.py的配置文件

在polls/urls.py输入下面代码:

from django.conf.urls import url

from . import views

urlpatterns = [
    url(r’^$’,views.index,name=’index’),
]

下一步在mysite/urls.py,导入django.conf.urls.include并且在urlpatterns列表插入一个 include()方法,如下:

from django.conf.urls import include,url
from django.contrib import admin

urlpatterns = [
    url(r’^polls/’,include(‘polls.urls’)),
    url(r’^admin/’,admin.site.urls),
]

include()方法允许引用其他的url配置,请注意对include()方法的正则表达式没有$而是一个斜线,每当Django遇到include()

它剔除掉匹配这点url部分并且发送剩下的部分字符串给incode()包含的url配置做进一步处理。

  什么时候使用include()

  当你包含其他的url模式时你应该使用include()admin.site.urls是个例外

你已经把index视图注册到url配置。来看看它是否能正常工作,运行下面的命令:

$ python manage.py runserver

在浏览器打开http://localhost:8000/polls/,你应该能看到你定义到Index视图输出的文本“Hello, world. You’re at the polls index.”。

url()方法可以传递四个参数,两个参数是必须的:regex 和 view 还有两个可选参数:kwargs name,下面我们来看一下每个参数什么作用呢

regex

regex是“regular expression”的缩写形式,这个参数以正则表达式的形式表示url路径

view

当Django找到一个匹配的正则表达式时,Django调用指定的视图方法。那么这个参数就是视图的方法。

kwargs

关键字参数,这个参数将作为字典传递给目标视图,不过这个参数用的比较少。

name

给你的url起个名字,在模板中会用到,这个强大的功能将使你对你项目的url模式适应变化,只需要修改一个文件就可以了。

这是一个基本请求和响应流程,下一节将说明如何使用数据库

时间: 2024-11-03 21:02:01

第一节:简单的请求(Requests)和响应(Responses)的相关文章

第一节 构建一个简单的WCF应用

先吐个槽,到目前为止接触的东西也就是些ado.net.select.delete.update.create.临时表的批量操作.及稍微复杂点的几个表之间查询再带几个excel导入导出 然后会点前端的js.jquery等,所以在公司目前薪水并不高(能在广州生活下去吧,什么买车买房的想都别想),拿自己身边的同志一比较感觉心里不怎么平衡,凡事还是得靠自己 自强才是硬道理,就吐到这里吧!开始我的wcf之旅吧 本人理工科类型的文笔很烂 希望各位大神不要喷小弟哦(参照的书本:WCF全面解析) 咱们还是从小学

萌新向Python数据分析及数据挖掘 第一章 Python基础 第一节 python安装以及环境搭建 第二节 变量和简单的数据类型

本文将参考<Python编程 从入门到实践>的讲述顺序和例子,加上自己的理解,让大家快速了解Python的基础用法,并将拓展内容的链接添加在相关内容之后,方便大家阅读. 好了!我们开始第一章的学习. 第一章 Python基础 第一节 Python安装以及环境搭建 Python的安装和环境变量的配置通过百度查询即可解决,这里不作赘述. IDE的选择:因为后期需要用来做数据分析,所以直接安装Anaconda会是一个不错的选择. Anaconda详细安装使用教程 https://blog.csdn.

Android系列之网络(二)----HTTP请求头与响应头

?[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4005034.html 联系方式:[email protected] [正文] 国庆佳节,习惯并享受着一个人独霸整个教研室的感觉. 在上一篇文章中,我们学习到了如何使用HttpClient发送HTTP请求.博文链接: Android系列之网络(一)----使用HttpClient发送HTTP请求

网络编程之Http请求头与响应头

(一)概述 上节中我们对Android涉及的网络编程进行了了解,也学习了下Http的基本概念,而本节我们 要学习的是Http的请求头与响应头: (二)HTTP请求与响应头 这里贴下上一节给出的图,根据下面给出的表,大家自己感受下相关请求头的作用吧: PS:第一行是请求行:请求方式 + 资源名称 + HTTP协议版本号,另外请求头只是给服务端的一个 信息而已或者说一个简单,至于怎么处理,还是由服务端来决定的! HTTP Request Header请求头信息对照表: 2.HTTP响应之响应头: 同

IP封包协议头/TCP协议头/TCP3次握手/TCP4次挥手/UDP协议头/ICMP协议头/HTTP协议(请求报文和响应报文)/IP地址/子网掩码(划分子网)/路由概念/MAC封包格式

IP协议头IP包头格式: 1.版本号:4个bit,用来标识IP版本号.这个4位字段的值设置为二进制的0100表示IPv4,设置为0110表示IPv6.目前使用的IP协议版本号是4. 2.首部长度:4个bit.标识包括选项在内的IP头部字段的长度. 3.服务类型:8个bit.服务类型字段被划分成两个子字段:3bit的优先级字段和4bit TOS字段,最后一位置为0. 4bit的TOS分别代表:最小时延,最大吞吐量,最高可靠性和最小花费.4bit中只能将其中一个bit位置1.如果4个bit均为0,则

《C# 爬虫 破境之道》:第二境 爬虫应用 — 第一节:HTTP协议数据采集

首先欢迎您来到本书的第二境,本境,我们将全力打造一个实际生产环境可用的爬虫应用了.虽然只是刚开始,虽然路漫漫其修远,不过还是有点小鸡冻:P 本境打算针对几大派生类做进一步深耕,包括与应用的结合.对比它们之间的区别.综合共性.封装.One-By-One. System.IO.Packaging.PackWebRequest System.Net.FileWebRequest System.Net.FtpWebRequest System.Net.HttpWebRequest 第一节,我们先来说说最

TCP/IP协议族(一) HTTP简介、请求方法与响应状态码

接下来想系统的回顾一下TCP/IP协议族的相关东西,当然这些东西大部分是在大学的时候学过的,但是那句话,基础的东西还是要不时的回顾回顾的.接下来的几篇博客都是关于TCP/IP协议族的,本篇博客就先简单的聊一下TCP/IP协议族,然后聊一下HTTP协议,然后再聊一下SSL上的HTTP(也就是HTTPS)了.当然TCP/IP协议族是个老生常谈的话题,网络上关于该内容的文章一抓一大把呢,但是鉴于其重要性,还是有必要系统的总结一下的. 一.TCP/IP协议组简述 在聊HTTP与HTTPS之前呢,我们先简

HTTP请求报文和响应报文

HTTP报文分为请求报文(request message)与响应报文(response message). 一.报文的组成部分 一个HTTP报文由3部分组成,分别是: (1).起始行(start line) (2).首部(header) (3).主体(body) 示例: HTTP/1.0 200 OK //起始行 Content-type:text/plain //首部 Content-length:19 //首部 Hi I'm a message! 主体 1.1 请求报文与响应报文的格式 请求

【v2.x OGE-example 第一节】 绘制实体

[v2.x OGE-example 第一节] 绘制实体 前言: OGE即 OGEngine,是由橙子游戏开发的基于Java支持跨平台的开源游戏引,从12年4月项目成立至今已经有2年多的发展历程.在此期间基于OGEngine开发的项目已经有很多成功投放市场.从正式开源开始,好多开发者开始加入OGEngine的行列,同时在官网.论坛.Q群.看到有好多的问题,大部分是一些新手的问题,经常会被重复的提问.有些是之前用过AndEngine的,对OGEngine的使用会有些出入,开发时不是很顺手.为此今天开

辛星跟您玩转vim第一节之vim的下载与三种模式

首先值得一提的是,我的vim教程pdf版本已经写完了,大家可以去下载,这里是csdn的下载地址:点此下载 ,如果左边的下载地址挂掉了,也可以自行在浏览器下面输入如下地址进行下载:http://download.csdn.net/detail/xinguimeng/7714213 ,当然,如果你是百度网盘的忠实用户,也可以借助于百度网盘,我也同步上传到百度网盘了,下载地址如下:百度网盘下载 ,如果地址挂了,可以在浏览器中输入:http://pan.baidu.com/s/1sj9CLXz 来下载.