天地所以能长且久者,以其不自生,故能长生。

——老子《道德经》

写在前面:Django在学习的过程中,我们会参考官方文档,从两部分进行讲解,第一部分主要是一个入门项目的搭建开发,第二部分是核心的讲解。过程中可能会有一些配置或者技术点不会明确的讲解,入门项目要求是能写出代码、能跟着文档写出项目,能了解项目即可。其余的后续章节中会有详细介绍,此时~不用恐惧不用害怕不用担心,某些细节问题我们暂时可以不求甚解!

本节内容

  • 项目结构了解
  • 创建第一个项目
  • 运行并访问我们的项目

1. Django创建项目的结构

在使用django开始创建并开发项目之前,我们先简单了解一下Djaogo对于项目的管理的结构,这里要提出的是,Django之所以可以方便快捷的开发大型WEB应用,最大的特点是它面向对象开发的基础上的模块化开发,将项目中需要的各个功能可以封装成或大或小的模块,这些模块在项目中是可插拔时的,非常有利于项目的更新和扩展

所以,Django框架在使用时,首先会常见一个项目(根模块),然后在项目的技术上,创建各个应用的子模块,将子模块引入到我们的根模块中进行使用

Django常见的项目类似于我们创建了一个插线板,插线板上可以插入多个用电器,每一个用电器都是实现了某些功能的一个模块,此时这个插线板的功能就非常强大了,可以通过接入不同的用电器实现各种特殊的功能了,插入电脑电源插线板项目中就包含了电脑的功能,插入手机充电器~插线板就实现了给手机充电的功能等等

2. Django创建项目

首先,我们确定要开发Django项目的文件夹,如我的项目放在D:\resp_work\PY_WORK目录下,

第一步,命令行进入该目录cd D:\resp_work\PY_WORK

第二:我们确定要开发的项目名称,案例中我们的项目名称为:mysite

第三:命令行执行django创建项目的命令,如下

  1. django-admin startproject mysite

执行完命令之后,可以在项目文件夹D:\resp_work\PY_WORK下看到创建好的项目如下:

项目结构文件简单介绍【了解即可】

  1. |-- mysite/ # 该文件夹只是项目的容器文件夹,可以任意命名,建议使用默认的即可
  2. |-- mysite/ # 这个是mysite项目的主体模块,也就是前面说到的根模块
  3. |--__init__.py # 这是一个空文件,主要是用来声明mysite/文件夹是一个python模块
  4. |-- settings.py # 用于Django项目设置的配置文件
  5. |-- urls.py # 网站的目录,也是网站所有URL地址配置的文件
  6. |-- wsgi.py # 一个兼容WSGI入口点的web服务器
  7. |-- manage.py # 这是用于在命令行中执行项目管理的一个文件,内容不需要修改

3. 运行及访问Django项目

我们已经创建好了基于Django的一个项目,那么怎么在web容器中启动这个项目,并且可以在浏览器中访问它呢?

在命令行进入我们创建的mysite/文件夹,执行如下命令,启动服务

  1. > cd mysite
  2. > python3 manage.py runserver

执行命令之后,会出现如下结果

接下来,就可以在浏览器中进行网站的访问了,从上述执行结果中,就可以看出提示通过http://127.0.0.1:8000端口进行访问

浏览器中访问网站应用,出现如下结果,说明网站服务已经运行成功

4. 扩展:通过指定IP地址和端口启动服务

默认情况下,我们可以通过python manage.py runserver启动服务时,绑定当前PC的ip地址和8000端口来启动服务

如果我们想通过自定义端口进行访问的话,可以通过如下的命令来启动服务

使用自定义的8080端口来启动服务

python3 manage.py runserver 8080

  1. 浏览器中可以通过如下的形式访问:http://localhost:8080
  2. ![修改端口之后访问服务器](//upload-images.jianshu.io/upload_images/5988045-574cbeca298195d2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  3. 如果此时我们想指定IP地址和端口来启动服务,首先要确定我们自己PCIP地址
  4. 命令行中查看IP地址命令

windows系统中,在命令行执行如下命令查看IP地址

ipconfig

linux/unix系统中,在命令行执行如下命令查看IP地址

ifconfig

  1. 查看到自己的IP地址之后,就可以通过`python manage.py runserver ip:port`的命令来指定IP地址和端口启动我们的服务了

python3 manage.py runserver 192.168.10.119:8080

  1. 执行上述代码就可以看到如下结果
  2. > ![指定IP地址启动服务的结果](//upload-images.jianshu.io/upload_images/5988045-703dc23ef6be841c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  3. 服务时启动成功了,如果我们此时直接通过IP地址访问的话,就会出先如下错误
  4. > ![访问出错](//upload-images.jianshu.io/upload_images/5988045-688ee024054e2e6f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  5. > 这是因为在指定IP地址的时候,出于安全考虑,服务器中并没有配置除了本机localhost之外的其他IP地址,所以出现了错误提示`You may need to add <ip> to ALLOWED_HOST`,我们打开`mysite/mysite/settings.py`配置文件,修改如下代码

settings.py中找到这行代码,添加我们设置的IP地址

ALLOWED_HOSTS = ["192.168.10.119"]


  1. > 重启django服务,通过浏览器访问我们的服务器,整个世界清净了...
  2. ![指定IP地址和端口访问服务的情况](//upload-images.jianshu.io/upload_images/5988045-d2d682fc00f2a717.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  3. ---
  4. ![Django来敲门](//upload-images.jianshu.io/upload_images/5988045-f7382c450790640c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

【3】Django创建第一个项目的更多相关文章

  1. Django 创建第一个项目(转)

    转自(http://www.runoob.com/django/django-first-app.html) 前面写了不少python程序,由于之前都是作为工具用,所以命令行就足够了,最近写的测试用例 ...

  2. python+Django创建第一个项目

    1.首先搭建好环境 1.1 安装pyhton,Linux系统中,python是系统自带的所以就不用安装 1.2 安装Django框架 使用pip安装: pip install django 1.3 检 ...

  3. 吴裕雄--天生自然Django框架开发笔记:Django 创建第一个项目

    Django 管理工具 安装 Django 之后,您现在应该已经有了可用的管理工具 django-admin.可以使用 django-admin 来创建一个项目: 可以来看下django-admin ...

  4. django创建第一个项目helloworld

    环境:centos 7,已安装python 3.6环境 1.安装django并创建django第一个项目 1.1.使用pip安装django# pip install Django或指定安装版本# p ...

  5. Django 创建第一个项目

    创建项目: [root@localhost ~]$ django-admin.py startproject web # web是项目名 [root@localhost ~]$ tree web/ w ...

  6. Python使用Django创建第一个项目

    一 必要环境安装 1首先确保安装了Python3,在此使用的系统为Ubuntu @ubuntu:~$ python3 Python 3.6.7 (default, Oct 22 2018, 11:32 ...

  7. Angular安装及创建第一个项目

    Angular简介 AngularJS 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJ ...

  8. Django创建第一个应用App(3)

    创建一个投票的应用app.现在已经创建好了一个项目,就是有了一个框架,有了框架之后就可以往框架里面填写一些自己的需求,就是放一些功能在里面即可.一个项目可以包含多个应用app,一个应用app可以属于多 ...

  9. django创建第一个子应用-3

    在Web应用中,通常有一些业务功能模块是在不同的项目中都可以复用的,故在开发中通常将工程项目拆分为不同的子功能模块,各功能模块间可以保持相对的独立,在其他工程项目中需要用到某个特定功能模块时,可以将该 ...

随机推荐

  1. Xcode 自己主动生成版本技术最佳实践

    在 bloglovin ,我们使用自己主动生成版本来设置Xcode,使当前的版本为在Git活跃的分支上 的提交数. 它一直正常工作着.但我们的技术也不是一帆风顺的. 糟糕的老方法 我们使用的技术是来自 ...

  2. jQuery - 点击图片加边框

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  3. Android+Jquery Mobile学习系列(7)-保险人信息

    [保险人管理]是这个APP最重要的功能,用于保存保险客户的数据,给后面的功能提供数据支撑. 简单说说[保险人管理]功能:主要就是增.删.改.查四个功能,在新增和修改的时候不仅可以保存保险人的姓名.身份 ...

  4. 【POJ 3322】 Bloxorz I

    [题目链接] http://poj.org/problem?id=3322 [算法] 广度优先搜索 [代码] #include <algorithm> #include <bitse ...

  5. 使用Web Workers处理线程

    使用HTML 4和JavaScript创建出来的Web程序中,因为所有的处理都是在单线程中 HTML 5的Web Workers API,HTML 5中,一个Worker实际上为一个后台运行的线程.

  6. [Apple开发者帐户帮助]五、管理标识符(3)删除应用程序ID

    您可以在不再需要时删除App ID.但是,您无法删除上载到App Store Connect的应用程序的显式应用程序ID . 所需角色:帐户持有人或管理员. 在“ 证书”,“标识符和配置文件”中,从左 ...

  7. BZOJ 1877 拆点费用流

    思路: 呃  水题不解释 行么,, //By SiriusRen #include <queue> #include <cstdio> #include <cstring ...

  8. [Luogu 2216] [HAOI2007]理想的正方形

    [Luogu 2216] [HAOI2007]理想的正方形 题目描述 有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小. 输入输出格式 输 ...

  9. indeed 4.22 第一次网测

    1.第一题 没有看 2. 由于数据范围很小,所以每一层需要全排列,寻找最小的花费,然后所有层加起来就是最后的结果. #include<bits/stdc++.h> #define pb p ...

  10. 【SQL】多表查询

    多表查询,即查询可以从两个或多个表中获取数据.在Oracle中,有两种类型的连接格式:ANSI SQL连接格式和Oracle特有的连接格式.Oracle建议采用符合ANSI标准的连接格式. 1.内连接 ...