前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django来敲门~第一部分【3. 创建第一个项目】使用自定义的8080端口来启动服务windows系统中,在命令行执行如下命令查看IP地址linux/unix系统中,在命令行执行如下命令查看IP地址

Django来敲门~第一部分【3. 创建第一个项目】使用自定义的8080端口来启动服务windows系统中,在命令行执行如下命令查看IP地址linux/unix系统中,在命令行执行如下命令查看IP地址

作者头像
大牧莫邪
发布2018-08-27 17:27:15
1.6K0
发布2018-08-27 17:27:15
举报

天地所以能长且久者,以其不自生,故能长生。 ——老子《道德经》

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

本节内容

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

1. Django创建项目的结构

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

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

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

Django创建的项目和模块的结构

2. Django创建项目

首先,我们确定要开发Django项目的文件夹,如我的项目放在D:\resp_work\PY_WORK目录下,第一步,命令行进入该目录cd D:\resp_work\PY_WORK

命令行进入项目开发文件夹

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

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

django-admin startproject mysite

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

Django创建的项目结构

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

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

3. 运行及访问Django项目

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

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

> cd mysite
> 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

浏览器中可以通过如下的形式访问:http://localhost:8080
![修改端口之后访问服务器](http://upload-images.jianshu.io/upload_images/5988045-574cbeca298195d2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

如果此时我们想指定IP地址和端口来启动服务,首先要确定我们自己PC的IP地址
命令行中查看IP地址命令

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

ipconfig

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

ifconfig

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

python3 manage.py runserver 192.168.10.119:8080

执行上述代码就可以看到如下结果
> ![指定IP地址启动服务的结果](http://upload-images.jianshu.io/upload_images/5988045-703dc23ef6be841c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
服务时启动成功了,如果我们此时直接通过IP地址访问的话,就会出先如下错误
> ![访问出错](http://upload-images.jianshu.io/upload_images/5988045-688ee024054e2e6f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

> 这是因为在指定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"]

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


---

![Django来敲门](http://upload-images.jianshu.io/upload_images/5988045-f7382c450790640c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.06.07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 本节内容
  • 1. Django创建项目的结构
  • 2. Django创建项目
  • 3. 运行及访问Django项目
  • 4. 扩展:通过指定IP地址和端口启动服务
  • 使用自定义的8080端口来启动服务
  • windows系统中,在命令行执行如下命令查看IP地址
  • linux/unix系统中,在命令行执行如下命令查看IP地址
  • settings.py中找到这行代码,添加我们设置的IP地址
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档