Django入门(一)

Django是一个python流行的web框架,什么框架呢?在我理解web框架就是用来处理用户访问url的一套模板。但是这个框架不是运维上所谓的web发布容器。像我们熟知的nginx、apache等是web发布容器。说白了就是放着web页面的代码。让用户的浏览器可以直接访问进来。例如用户访问的www.abc.com的时候,会先把请求发送给web容器。但是web容器并不知道接收到www.abc.com这个url之后该怎么办。所以它需要把这个url交给web框架,由web框架来决定接收到url之后返回给客户怎样的数据。

同样作为web框架,其实还有Tornado、Flask 等多种框架。但是被大家广为使用的还是Django,因为它支持几乎所有的特性。使用范围非常的广泛。

Django的安装

为了快速的安装这里我就使用pip方式,快速进行安装。在命令行模式下运行如下命令

pip install django

这样就可以自动安装最新版的Django软件了。

安装完成之后,进入python交互模式。导入django,如果能够输出版本号就说明django已经安装完成了

>>> import django
>>> django.VERSION
(1, 9, 2, ‘final‘, 0)

创建第一个django项目

退出python的交互模式,进入到想要创建django项目的目录执行如下代码

django-admin startproject mydjango   #创建项目

如果执行正确的话,将不会出现任何提示。这时候进入pycharm的话。可以看到创建了一个叫做mydjango的

目录里面包含了一个叫做manager.py的文件和一个也叫做mydjango的文件夹

子文件夹myjango里的各个py文件其实就是,project项目mydjango的总控制文件。

settings.py 里面设置的就是整个项目的各个参数。例如选用的是哪种数据库,数据库的连接地址和用户名密码信息。还有注册了哪些app,引用了哪些模板(templates)等等。反正就是整个项目的核心配置都是在这个文件里配置的。

urls.py 用于将用户的发来的url请求与对应的html页面或者对应的函数进行绑定。比如用户访问url:127.0.0.1/index  一般后台就会用index.html这个文件来相应这个请求。那为什么是index.html而不是xxx.html?其实到底用哪个页面回应都是可以根据我们的意愿来定义的。在django中就是在urls.py这个文件里来处理。

wsgi.py  这个文件的作用以后再说。

下面重点说一下manager.py文件。当我们的项目创建好之后,其实django还不能工作。项目只是一个大的容器,真正将页面呈现给大家的是容器里面的应用(app)。这就好比一个网站有很多的个模块组成,有的模块负责首页的内容,有的模块负责后台用户管理的内容等。这里每个模块其实就可以看成是一个应用app。每个应用都相互独立,都放在项目容器里之后这个网站就完整的呈现出来了。但是每个app又都可以单独的拿出来分给不同的人来做开发。这些app的创建就是由manager.py这个文件来完成。现在在使用命令行在mydjango项目内创建一个app出来

python manage.py startapp app01

顺利执行的话也将没有任何提示。但是在pycharm里就可以看到,在mydjango项目目录下现在又多了一个app01目录

在app01目录下我们可以看到又出现了很多的py文件。现在我们最先要关注的就是views.py视图这个文件。

这个文件是配合刚才提到的子目录mydjango下面urls文件使用。urls里面定义的是用户访问来的url请求会调用哪个函数来处理。而且这个这个被调用函数的内容到是什么就需要在对应的views里面来定义了。具体的操作一会儿会说。

创建第一个页面

我们假设用户现在的请求是要访问127.0.0.1/index这个url,那么根据刚才的介绍我们需要首先子目录mydjango下面urls

urls.py

from django.conf.urls import url
from django.contrib import admin
#先引用app01里面的views,否则django不知道去哪儿找对应的函数
from app01 import views
urlpatterns = [
#第一admin是默认自带的url解析
    url(r‘^admin/‘, admin.site.urls),
‘‘‘定义xxx.xxx.xxx/index这个url的请求调用
app01中的views里面index()函数来处理。
注意这里只需要写函数名就好了,不用加
()号。切记!!每一行定义一个url必须在
最后加个逗号。
‘‘‘
    url(r‘^index/‘, views.index), 
]

下一步去app01里的views里定义函数index()

views.py

from django.shortcuts import render
# 使用HttpResponse方法相应用户的url请求
from django.shortcuts import HttpResponse
# Create your views here.
‘‘‘
定义的函数括号了至少要写一个request参数,这个参数就相当于
面向对象里的self
‘‘‘
def index(request):
    # 通过HttpResponse将字符串内容返回给用户浏览器
    return HttpResponse(‘first web‘)

第三步,就是通过命令行启动django自带的小型web server来测试我们的代码是否能够正常运行

python manage.py runserver 127.0.0.1:8009

默认启动的服务端口是8000,这里我手动指定了一个8009端口

现在去浏览器查看一下web是否正常启动了

如果看到了这个页面,就说明web server已经启动了。我们在后面追加上指定的路径/index看看

这样我们就使用django成功的响应了一个用户对xxx.xxx.xxx/index这个url的访问请求。但是通过Httprespons()这个方法返回一个字符串显然是不够的。我们需要将指定的html页面返回给用户怎么办呢?

这时候我们需要先在项目里额外创建一个templates文件夹,将我们想呈现的html文件写到这个文件夹里。

置于index.html的文件内容我们可以随便写点就可以了

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <h1>first index.html</h1>
</body>
</html>

我们凭空创建了一个新的templates文件夹并且还在里面创建了一个文件,但这些操作django程序是不知道的。因此我们需要修改子目录mydjango下面的全局配置文件settings.py,从而是django知道我们的对项目的变动。

先找到INSTALL_APPS的内容,最下面将我们创建的app01应用追加进去,注意最后要的逗号别忘记加上

然后找到TEMPLATES的内容,在DIRS一项中添加

‘DIRS‘: [os.path.join(BASE_DIR,‘templates‘),],

注意小括号后面的还有个一个逗号,千万别忘记了

如果settings.py文件还有类似红色框体中的配置,要记得注释掉。这种注册templates的方式是django 1.7版本以前的方式。在1.8及以后的版本中被废弃了

最后一步就是去app01应用中修改views.py中index()函数的定义了,这次我们指定函数不在是返回一个字符串而且是读取templates目录下的index.html的内容。并将读取的内容通过HttpRespons()方法返回给客户端,具体的代码如下:

views.py

from django.shortcuts import render
from django.shortcuts import HttpResponse
# Create your views here.
def index(request):
    with open(‘templates/index.html‘) as f:
        content=f.read()
        return HttpResponse(content)

打开浏览器测试的结果

可以看到,现在django已经可以顺利的将整个html的内容读取给用户了。但是没读取一个html都要用open方法读取内容太过麻烦了。其实django已经给我们集成了方法一个读取html文件的方法,这个方法就是render()。而且这个方法默认就是被导入到views.py里面的。所以我们只需要将index()的方法再稍作修改就可以实现和上面的一样的功能了。

最终的views.py

from django.shortcuts import render
# Create your views here.
def index(request):
    return render(request,‘index.html‘)

就是这样,一句话就完成了将index.html页面的内容返回给用户的功能。因为已经在setting里配置过TEMPLATES的路径,所以在render()方法里直接写html文件名就可以了。

时间: 2024-10-05 12:47:20

Django入门(一)的相关文章

django入门 -- 简单流程

django入门 -- 简单流程 这里简单的演示完成一个 django 大概流程,后面会有详细解释 搭建开发环境 以下使用的是 ubuntu 系统 在生产环境中,有的时候,我们开发的项目可能用的是几个不同的 环境,所以通常我们会创建虚拟环境,在虚拟环境中安装我们需要的 配置,这里从配置虚拟环境开始 创建虚拟环境 创建:mkvirtualenv [虚拟环境名称] 删除:rmvirtualenv [虚拟环境名称] 进入:workon [虚拟环境名称] 退出:deactivate 所有的虚拟环境,都位

Django入门笔记

Django入门笔记 **文档包含Django安装包.学习的笔记.代码等 安装 Django参考附件,只需要把附件拷贝到你需要的目录就行.Django是1.8.16版本 Python:在附件中,其中有Django需要的依赖包 编辑器:Aptana,一个强大的IDE工具,可以在上边新建模板,支持各种语言 Django项目创建 **可以用附件中的工程目录或者自己新建 新建工程-创建Django 新建工程-配置Django工程 工程创建完成后,会在工程目录中自动创建以下几个py文件 settings.

python16_day15【Django入门】

一.Django基本 1.什么是框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演.对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 import socket 2 3 def handle_request(client): 4 5 buf = client.recv(1024) 6 client.send("HTTP

Django入门全套(第三部)

前两部链接 django入门全套(第一部) Django入门全套(第二部) 本章内容: Django 发送邮件 Django cookie Django session Django CSRF Django 发送邮件 我们常常会用到一些发送邮件的功能,比如有人提交了应聘的表单,可以向HR的邮箱发邮件,这样,HR不看网站就可以知道有人在网站上提交了应聘信息.今天我们尝试用django发送邮件做尝试 1.配置相关参数settings 往settings添加下面几行数据 EMAIL_BACKEND =

python学习笔记--Django入门四 管理站点

上一节  Django入门三 Django 与数据库的交互:数据建模 "管理员界面"是基础功能中的重要部分.. 激活管理员界面 管理界面是 Django 中最酷的一部分.但是不是所有人都需要它,所以它是可选的.这也就意味着你需要跟着三个步骤来激活它. 在你的 models 中加入admin metadata. 不是所有的models都能够(或应该)被管理员编辑,你需要给models标记一个管理员接口(interface),通过给models添加一个内部类'admin'完成接口标记.所以

Django入门与实践 17-26章总结

Django入门与实践-第17章:保护视图 Django 有一个内置的视图装饰器 来避免它被未登录的用户访问: 现在如果用户没有登录,将被重定向到登录页面: 现在尝试登录,登录成功后,应用程序会跳转到原来所在的位置. Django入门与实践-第18章:访问已登录用户 现在我么可以改进 new_topic 视图,将发布主题的用户设置当前登录的用户,取代之前直接从数据库查询出来的第一个用户, 之前这份代码是临时的,因为那时候还没有方法去获取登录用户,但是现在可以了: 有两个关键字参数,pk用于唯一标

Django入门-框架目录介绍

Django入门博客:https://www.cnblogs.com/chuangming/p/9076721.html#4098510 备注:使用 Django 框架之后,开发服务端方便了很多.我们只需要做 ①定义函数 ②定义函数和路径的对应关系 这两件事情就可以使得服务端正常响应. 1.安装Django pip install Django 或者直接用pycharm安装 2.新建Django项目[直接使用pycharm] 3.文件具体解释 最外层test01----项目文件夹 里面test0

Django入门第一步:构建一个简单的Django项目

Django入门第一步:构建一个简单的Django项目 1.简介 Django是一个功能完备的Python Web框架,可用于构建复杂的Web应用程序.在本文中,将通过示例跳入并学习Django.您将按照以下步骤创建功能完备的Web应用程序,并一路学习框架的一些最重要的功能以及它们如何协同工作. 学习目标: 了解Django是什么以及为什么他是一个伟大的web框架 了解Django的体系结构以及与其他框架的对比 独立搭建一个简单的Django项目和应用程序(app) 2.为什么要学习Django

Django入门第一步(安装和创建一个简单的项目)

目录 Django入门第一步(安装和创建一个简单的项目) 一. Django项目目录结构 二.注意事项 三.Django安装 3.1.安装命令 3.2.验证django是否安装成功 3.3.使用方法 Django入门第一步(安装和创建一个简单的项目) 在使用Django框架开发web应用程序时,开发阶段同样依赖wsgiref模块来实现Server的功能,我们使用Django框架是为了快速地开发application. 如果使用的是我们自定义的框架来开发web应用,需要事先生成框架包含的一系列基础

django入门8之xadmin引入富文本和excel插件

django入门8之xadmin引入富文本和excel插件 Xadmin引入富文本 插件的文档 https://xadmin.readthedocs.io/en/docs-chinese/make_plugin.html Django ueditor插件的安装 下载地址:https://github.com/zhangfisher/DjangoUeditor 进入mxonline的虚拟环境 Python setup.py install 进行安装 在settings.py中引入ueditor 在