文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Django学习 第一节 基础环境配置

2024-04-02 19:55

关注

       Django是一个高效的web开发框架,使用Django可以用最小的代价构建和维护高质量的web应用。通过减少重复的代码,让人能够专注于web应用上有趣的关键性的东西。

遵循了模型-视图-控制器(MVC)的设计模式。简单来说,MVC是一种软件开发的方法,它把定义和访问 数据的代码(模型 model)、控制请求逻辑的代码(控制器 controller)和用户接口(视图 view)分割开来。我们会在以后更加深入地讨论MVC。

        这个方法最重要的优点在于它的各个部分都是 松耦合 (loosely coupled)的。这样用Django开发的Web程序中每个部分都有它自己单一的目的,并且可以单独地被修改而不会影响到其他部分。比方说,一个程序员可以在不影响底层实现的情况下修改URL;设计师可以不需要接触Python的代码就修改页面的HTML;数据库管理员在重命名数据表之后只需要修改一个地方就可以了,而不需要在一大堆文件中查找替换。


一. Django基本环境的搭建

因为笔者为自己定下的发展方向是运维开发,因此所有的开发工作都会是在linux平台上进行,后续的环境搭建也基本上都是在linux系统中,笔者使用的系统是RHEL7.2。通过pyenv来管理不同的虚拟环境,在不同的虚拟环境中可以使用不同的python版本,为后续的项目开发提供便利。

1. 安装pip

yum install python-pip

2. 安装pyenv

安装pyenv的过程比较长,请见上一篇python开发环境准备文章。

3. 使用pyenv创建一个虚拟环境,然后切换到虚拟环境

pyenv virtualenv 3.5.2 myproject
pyenv local myproject

4. 在虚拟环境中使用pip来安装django

(myproject) # pip install django

5. 查看django是否安装成功

# python -m django --version

可以看到下面的画面,说明django安装成功,这里安装的django版本是1.9.8,是最新版本。

Django学习 第一节 基础环境配置




二、Django的基本命令

首先我自己创建一个Django的目录myproject,然后在这里目录里存放我自己的Django工程

# mkdir myproject

1. 创建一个工程

# django-admin.py startproject project-name  
# django-admin.py startproject mywebsite  #我想创建一个自己的博客网站,项目叫mywebsite

2. 在工程里创建一个APP

# cd mywebsite       #进入到mywebsite工程目录
# project manage.py startapp app-name   #这是创建网站APP的默认命令

#相当于创建工程底下的子项目

# 网站的第一个版本,叫做myweb
# python manage.py startapp myweb

3. 同步数据库

# python manage.py makemigrations   #同步数据库
# python manage.py migrate      #创建数据库
# python manage.py flush      #清空数据库,留下空表(使用时要注意)
# python manage.py dbshell       #进入数据库命令行,如果是mysql或postresql会要用户名密码

我们刚开始创建网站,只需要先创建一个基础的数据库即可,其余的命令只需要记住就好。

$python manage.py migrate

Django学习 第一节 基础环境配置

4. 启动自己的网站,使用Django初始页面

# 命令说明

# python manage.py runserver         #默认启动方式,监听在127.0.0.1:8000端口上
# python manage.py runserver  ip:port       #监听在其他IP上 
# 执行命令
# python manage.py runserver 127.0.0.1:8000

然后打开浏览器,打开http://127.0.0.1:8000页面,如果看到下面的页面说明你的第一步已经成功了。

Django学习 第一节 基础环境配置

5. 更多命令

输入python manage.py 命令可以查看详细的命令列表,不记得相关命令时可以这样查询。

Django学习 第一节 基础环境配置


三、Django框架简单介绍

创建好了Django工程mywebsite和下属的子项目myweb后,工程的文件目录结构如下:

# tree mywebsite
mywebsite/
├── manage.py
└── mywebsite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py

manag.py 文件是工程项目所有管理命令的入口,可以使用python manage.py查看所有的命令

mywebsite目录下是工程的所有文件


子项目myweb的目录结构如下:

#tree myweb
myweb
├── admin.py
├── apps.py
├── __init__.py
├── migrations
│   └── __init__.py
├── models.py
├── tests.py
└── views.py

admin.py    与后台登录有关的文件

apps.py     myweb属性相关的文件

mirgrations  数据库目录

models.py    数据库操作相关的文件

tests.py     项目测试有关的文件

views.py     网址函数,和工程目录中的urls.py相对应


四 、启动Django默认界面

1. 将新定义的myweb添加到settings.py中的INSTALL_APPS中

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myweb',                        #新加的内容
]

还要将需要监听的网卡外网地址加入到settings.py中的可信赖的地址列表ALLOWED_HOSTS 中(Django1.10新增内容):

ALLOWED_HOSTS = [
'192.168.1.246',
]


2. 在myweb里的views.py文件中定义视图函数(访问页面时的内容)

#vim myweb/views.py

#下面是添加到views.py文件里的内容

#coding:utf-8

from django.http import HttpResponse
def index(request):
return HttpResponse("欢迎光临小灰灰的第一个小站")

第一行声明utf-8编码,因为下面使用到了中文,不使用utf-8会报错。

第二行插入了一个HttpResponse类,这个类是用来向网页返回内容,把内容显示在网页上面

第三行定义了一个函数index(request),第一个参数是request,和网页发来的请求有关,request变量里包含了get或post的内容,用户的浏览器和系统等信息包含在里面。函数返回一个HttpResponse对象,这个对象将包含的值显示在往上面


3. 添加视图函数对应的网址,就在上面第三部分我们提到的urls.py文件里。

# vim mywebsite/urls.py
from django.conf.urls import url
from django.contrib import admin
from myweb import views as mywb_views    #新添加的内容,从myweb项目里插入views模块
urlpatterns = [
  url(r'^$',myweb_views.index),        #网址对应到views模块里定义的index函数 
  url(r'^admin/', admin.site.urls),
]

内容修改后保存


4. 启动我们的第一个Django项目,因为是在虚拟机上操作的,所以需要监听在外部网卡IP上

# python manage.py runserver 0.0.0.0:8000

然后在其他机器上打开浏览器, 输入虚拟机的IP和端口http://192.168.1.246:8000 ,就可以看到如下的页面,说明我们的第一个web站点创建成功。


这一章节的知识点:

1. pip的国内源配置

2. 虚拟开发环境的配置

3. Django的基本命令,包括项目、APP的创建,数据的创建和更新。

4. Django项目的基本架构,views.py、setting.py、urls.py、admin.py这几个文件的含义和联系


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯