文档章节

Django学习--003--视图

clgo
 clgo
发布于 2016/04/26 09:03
字数 914
阅读 47
收藏 0

1.首先新建一个项目,进入想要建立项目的文件夹,使用下面命令:

django-admin.py startproject the-site  

注:the-site为项目名称,可以自己命名。

2.成功后,会出现使用tree命令,会出现如下文件结构。

mysite
├── manage.py
└── mysite
    ├── __init__.py #空文件,告诉python把mysite作为一个python模块。
    ├── settings.py #设置和配置文件,包含初始设置文件
    ├── urls.py     #定义URL格式,每个定义的URL通过这个文件映射到views文件
    └── wsgi.py     #配置项目作为一个WSGI应用

注:Django 1.8.x 以上的,还有一个 migrations 文件夹。Django 1.9.x 还会在 Django 1.8 的基础上多出一个 apps.py 文件。

setting.py中包含基本的SQLlite数据库配置信息和一系列默认添加的应用。我们可以创造在数据库中创造表。使用以下命令:

cd mysite
python manage.py migrate

输入图片说明

3.网站项目建立好后,需要新建一个APP模块。如app.

python manage.py startapp your-app
#your-app为你的模块名,可自己设置

建立APP后的结构如下:

app
|-- admin.py                
|-- __init__.py
|-- migrations
|   `-- __init__.py
|-- models.py
|-- tests.py
`-- views.py

如需要多个模块(模块可以理解为项目下的子网站)可以建立多个APP。

4.把我们新定义的app加到settings.py中的INSTALL_APPS中

新建的 app 如果不加到 INSTALL_APPS 中的话, django 就不能自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件)

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
 
    'your-app-name',
)

5.定义视图函数。

打开建立的app文件下的views.py文件,修改文件代码如下:

#coding:utf-8
from django.http import HttpResponse
 
def index(request):
    return HttpResponse(u"欢迎来到Django")

1.第一行是声明编码为utf-8, 因为我们在代码中用到了中文,如果不声明就报错.

2.第二行引入HttpResponse,它是用来向网页返回内容的,就像Python中的 print 一样,只不过 HttpResponse 是把内容显示到网页上。

3.我们定义了一个index()函数,第一个参数必须是 request,与网页发来的请求有关,request 变量里面包含get或post的内容,用户浏览器,系统等信息在里面(后面会讲,先了解一下就可以)。

4.函数返回了一个 HttpResponse 对象,可以经过一些处理,最终显示几个字到网页上。

6.定义视图函数相关的网址。

我们需要访问什么网址才能返回我们刚才定义的视图函数的结果。这是需要定义Urls.py文件

from django.conf.urls import url
from django.contrib import admin
from learn import views as learn_view   #新
 urlpatterns = [
    url(r'^$', learn_views.index),  # 新,使用的正则表达式。
    url(r'^admin/', admin.site.urls),
]

注:第三行为新加行,Django在新版本中鼓励使用先导入视图文件,再去使用视图文件中的函数的方法。

7.运行开发服务器,查看开发结果。

django是一个轻量级的web服务器,不需要花费时间配置生产信息。

在含有manage.py的文件夹下使用下面的命令。

python manage.py runserver

出现下面返回代表服务成功开启。

$ python manage.py runserver
 
Performing system checks...
 
System check identified no issues (0 silenced).
 
You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.
 
December 22, 2015 - 11:57:33
Django version 1.9, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

打开浏览器访问 http://127.0.0.1:8000/, 这个网址是由我们书写的正则表达式规定的。不同的正则表达式输入的网址不同。

我们还可以运行django在特定端口,例如:

python manage.py runserver 127.0.0.1:8001 --settings = mysite.settings

© 著作权归作者所有

clgo
粉丝 2
博文 100
码字总数 37222
作品 0
郑州
私信 提问
史上最友好的 Django 入门教程

Django是使用Python开发的开源Web开发框架。使用Django,你能以最小的代价构建和维护高质量的Web应用。 我们参考Django 官方文档,制作了一门新手更容易理解的Django 基础教程 ,帮助大家更好...

实验楼
2018/07/26
0
0
python入门系列之(三) 初识Django

我是边看Django相关文档边整理的这篇博客,相当于学习笔记,写的有点乱,如果你已经了解Django开发,就不用看了,不过这里还是涉及到了一点Django的设计思路,对理解Django还是有些好处的,文...

疑似一僧
2014/03/21
253
0
Django 实战1:搭建属于自己社工查询系统(下)

上篇文章已经完成框架搭建,本文接着上篇的内容继续讲解。本片主要的说三点内容,分别是:根据条件查询数据、根据查询结果显示不同内容、将查询数据填充到页面上。 1 逻辑优化 在上篇文章,我...

猴哥Yuri
2018/04/15
0
0
基于Django 文档1.11 自解+补完 学习django ---part1

学习django 很长一段时间了 国内的资料少之甚少,加之英文文档sei也不愿意看或者看不懂,使得学习更加陡峭,so准备研究官网案例结合我的学习经历,进行姿势补全 *Tip:本文基于Django文档1.1...

xh21bao
2017/04/21
0
0
Django 实战2:利用 Session 实现自动登录

上篇文章中讲到 Django 如何启动以及配置 sessions 功能。sessions 功能用是跟踪用户的状态,经常结合 Cookie 功能实现自动登录功能。 所谓的“自动登录”指的是:我们登录一些网站,在不关闭...

猴哥Yuri
2018/05/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
今天
59
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
今天
27
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
今天
62
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
今天
57
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
今天
59
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部