第二章 创建第一个Python Web程序应用

目的:制作一个简单的欢迎网站,熟悉Python Web的基本开发流程以及掌握Django的基本结构和常用命令。

Python Web的基本开发流程可以概括如下六步骤:

创建Django项目–创建应用–制作访问界面html文件–编写试图处理函数(处理访问请求)-- 配置访问路由url – Web启动、关闭以及局域网手机访问

2.1 创建Django项目

D盘project目录下新建一个cysweb1文件夹,打开文件夹后在terminal终端新建一个名为w1的Django项目。

django-admin startproject w1
cd w1           //切换到该项目里
python manage.py runserver      //测试

2.1.2 了解Django项目的目录结构

在上一步创建好w1项目,VS Code会自动生成几个基本的配置文件如上图所示,我们也应该了解每个文件存在的意义。

①==init__.py==:标识文件,也可以是个空文件,若有需要的话再向里面写入 。主要用来表明当前所在的文件夹是一个python包,声明w1文件夹是一个独立的模块;

② settings.py:用来配置整个全局的变量,其中包含各种应用、资源url、pattern等;

③ urls.py :用于 Web访问路由映射文件。创建的Web项目下所有的页面都应该在urls文件中来配置

④ wsgi.py:web server gateway interface,即Web服务器的网关接口,一般不需要做修改;

⑤manage.py:作为项目的主文件(main),用来执行与项目相关的一些重要命令,例如项目的启动、数据库的同步等等

其中settings.py和urls.py都是需要反复修改和编辑的文件。

2.2 创建应用

Django的一个重要修饰就是支持类似热插拔的app应用,Django项目和应用的关系可以总结如下:

  • 一个Django项目包含一组配置和若干个Django的应用;
  • 一个Django应用就是一个可以反复使用的python工具包;
  • 一个Django可以包含多个应用;
  • 一个应用也可以被包含到多个Django的项目中
python manage.py startapp app1
//在w1项目里新建一个应用app1

2.2.2 了解应用的目录结构

在创建好app之后,文件管理器里展开该应用可以看到如上图的几个python文件,对python文件了解概括如下:

①==—init—.py==:标识文件,也可以是一个空文件,起作用类似于项目里的同名文件;

② admin.py : 管理员模块,也就是Django的每一个项目都会有一个强大的后台管理系统,需要注册什么数据信息就需要通过此文件来管理配置;

③ apps.py : 应用的配置文件,一般不需要修改;

④ models.py :数据库文件,管理数据库中的模型;

⑤test.py:测试文件,在里面可以对应用做测试;

⑥views.py:试图文件,定义了每个访问的处理函数,每个访问的路由与哪个函数绑定则需要由urls.py文件来控制;

⑦migrations:数据库迁移文件夹,执行数据库迁移时后产生的中间结果则存在这个文件夹里面。

2.2.3 实现”热插拔“

在创建完应用我们应该将其应用添加到项目当中,在w1的settings.py文件夹里的INSTALLED_APPS字段里添加

INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','app1',         //添加你所创建的应用名称
]

2.3 制作访问界面html文件

在创建的app1应用下面要建一个templates文件夹,这是默认存放网站页面的文件夹,Django项目会自动寻找templates文件夹下面的页面资源,提高后续代码的简洁性,随后在templates文件夹下新建一个名为app1.html的文件,打开app1.html输入以下代码

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="utf-8" /><title>我的第一个页面</title>
</head>
<body><h1>欢迎 app1用户的到来</h1>
</body>
</html>
如果HTML代码出现了排版格式混乱,就可以用beautify这个插件来实现对代码的自动对其排版,非常方便												

02 创建一个简单的Python Web程序应用相关推荐

  1. Windows下编译TensorFlow1.3 C++ library及创建一个简单的TensorFlow C++程序

    参考:https://www.cnblogs.com/jliangqiu2016/p/7642471.html Windows下编译TensorFlow1.3 C++ library及创建一个简单的T ...

  2. 一个简单的python爬虫程序

    #简介 在每次论文被拒再投的过程中,都需要查询最近的与自己论文相关的会议列表.每到这种情况,我一遍采用的是遍历会伴www.myhuiban.com的网站,然后逐个查看会议,关注的有三点,投稿日期,cc ...

  3. C#.net创建一个简单的消息队列程序(MessageQueue)

    MessageQueue:消息队列,现在应用也是越来越广泛,如微信朋友圈,可以概括为仅仅两条消息队列,消息队列常用于处理高并发的问题,当我们在实际应用中发现接收到数据量过多时,可以使用队列. 微软提供 ...

  4. 创建一个简单的Android应用程序

    创建第一个Android应用程序 打开Android Studio,选择新创建一个Project: 点击创建时Android Studio会给我们提供一些基础模板,我们可以根据需要选择模板对应项目创建 ...

  5. go : go gin mysql 创建一个简单的后端web服务

    吃别人吃不了的苦,忍别人受不了的气,付出比别人更多的,才会享受的比别人更多 !!! 具体代码在: https://gitee.com/hjx_RuGuoYunZhiDao/strom-huang-go ...

  6. 《Python核心编程》练习题之2-7:创建一个简单的半双工聊天程序。半双工,就是指建立一个连接且服务开始后,一次只能一端发消息,不能同时对发消息。一个参与者在服务器一侧,另一位在客户端一侧

    按照题目的意思,我写的程序如下: 服务器端程序: import socketHOST = '' # Symbolic name meaning all available interfaces POR ...

  7. 创建一个简单的Python服务器

    有时候在学习一些前端框架或前端库时,需要有一个Web服务器作为后端提供数据.如果使用Apache或Tomcat等服务器比较麻烦(需要把代码放到指定位置),而且不够轻量级--相比起使用Python来说. ...

  8. python 某个数是不是在某个范围内_教写一个简单的python小程序(04)

    点击蓝字 关注我们 会酸的柚子 Python爱好者 搞机少年 七夕结束了~ 酸柚也是被强塞了满嘴的狗粮 在这样充满恋爱腐朽气息的一天 酸柚也是马不停蹄的在赶稿子 兄弟们,给我顶起来呀~ 我们来看看今日 ...

  9. python简单菜单_创建一个简单的python菜单

    修正和评论,它们主要是语法错误.menulist= '''1. Print the list, 2. Add a name to the list, 3. Remove a name from the ...

最新文章

  1. 企业案例(二):增量恢复案例
  2. 启动之后自己关闭_电脑怎么关闭自动更新
  3. 各种流行编程语言的优缺点
  4. Python 创建目录文件夹
  5. 爬虫 知识点 总结。
  6. 寒流来袭·《求职初体验》
  7. 网站自动跳转代码大合集
  8. Java程序员必备辅助开发神器(2022年版)
  9. 五子棋AI算法(二)
  10. linux串口结构termios,linux串口termios.doc
  11. 基于XP系统的asp.net运行环境的安装与配置
  12. Xms Xmx PermSize MaxPermSize 区别
  13. 《每日一题》NO.21:画出CMOS 非门/与非门/或非门的结构
  14. 浅析桌面虚拟化给企业带来的价值
  15. 2018北科大计算机学院复试方案,2018年计算机学院研究生复试方案
  16. mysql 别名排序没效果_除了会排序,你对ORDER BY的用法可能一无所知!
  17. 在kali虚拟机中安装Android模拟器
  18. 我和ChatGPT聊了聊:它承认自己没有人性
  19. 【最新】iOS App上架AppStore 教程 (Part 二)
  20. 你是要搞敏捷吗?教你挑选试点团队的盖世绝招

热门文章

  1. shell学习之awk
  2. (10)全民小视频引流脚本模块化开发04-已关注用户私信By飞云脚本学院
  3. Ner-Ocr识别文本格式化问题
  4. 双11是结束了,但这场没有硝烟的“战争”却没有结束
  5. Linux调度系统全景指南(上篇)
  6. python-浮点数取整
  7. 《Learning Unsupervised Metaformer for Anomaly Detection》论文阅读笔记
  8. NCPC 2012 Problem B Bread Sorting
  9. Linux sort --将文本文件内容加以排序
  10. 国王游戏(贪心+模拟)