【Python】Django学习一:第一个Django程序
项目开发环境
Python 3.6
Django 1.11.5
Django安装
在开始安装Django之前,Django更新比较频繁,所以要选择合适的版本,这里选择Django1.11.5.
pip安装
pip install django==1.11.5
创建项目与应用
安装完成后,在../Python36/Scripts/目录下出现一个django-admin.exe的可执行文件。
打开终端,执行以下命令进行创建项目:
django-admin startproject guest #项目名guest
项目结构如下:

guest/__init__.py:一个空的文件,用它标识一个目录为Python的标准包;
guest/setting.py:Django项目的配置文件,包括Django模块应用配置、数据库配置、模板配置等;
guest/urls.py:Django项目的URL声明;
guest/wsgi.py:与WSGI兼容的Web服务器为你的项目提供服务的入口点;
manage.py:一个命令行工具,可以让你在使用Django项目时以不同的方式进行交互。
进入项目,查看manage提供的命令
> cd guest #进入guest项目
> python manaage.py #查看manage所提供的命令

创建应用
> python manage.py startapp sign #创建sign应用
Django的应用目录截图:

migrations/:用于记录models中数据的变更;
admin.py:映射models中的数据到Django自带的admin后台;
apps.py:用于应用程序的配置,在新的Django版本中新增文件;
models.py:Django的模型文件,创建应用程序数据表模型(对应数据库的相关操作);
tests.py:创建Django测试用例;
views.py:Django的视图文件,控制向前端页面显示的内容。
运行项目
Django提供了Web容器,通过‘runserver’命令就可以把项目运行起来

默认通过本机的8000端口来启动项目,直接浏览器访问:http://127.0.0.1:8000/

如果8000端口被占用,可以在启动时指定ip地址和端口号来启动项目,方法如下:
> python manage.py runserver 127.0.0.1: #其中127.0.0.1位IP地址,8001为端口号
第一个Django Web页面
实现功能,页面上打印“Hello,This is my first Django Web!”
首先配置guest/settings.py文件,将sign应用添加到项目中
# Application definition INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'sign',
]
正常的页面访问需要添加访问路径,所以我们这里配置/index/路径来显示页面,在浏览器输入:http://127.0.0.1:8000/index,如图所示:

通过报错信息,可知:
- Django在项目的guest子目录下通过urls.py文件来定义URLconf
- 但是,在urls.py文件中只找到admin/路径的路由配置
- 当前URL和index/没有被找到。
根据错误提示,打开../guest/urls.py文件,添加/index/。
from django.conf.urls import url
from django.contrib import admin
#导入sign应用views文件
from sign import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^index/', views.index),
]
重新启动项目。发现又报错。。提示views.py文件没有index属性

接下来,打开/sign/views.py文件,创建index函数。
from django.http import HttpResponse
# Create your views here.
def index(request):
return HttpResponse("Hello,This is my first Django Web!")
启动服务后,页面成功显示,第一个Django程序完成!!

本文参考:书籍《Web接口开发自动化测试基于Python语言》
【Python】Django学习一:第一个Django程序的更多相关文章
- python web开发——django学习(二)第一个django网站运行成功
1.写message_form.html <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- Python Tkinter学习(1)——第一个Tkinter程序
注:本文可转载,转载请注明出处:http://www.cnblogs.com/collectionne/p/6885066.html.格式修改未完成. Tkinter资料 Python Wiki, T ...
- Django教程:第一个Django应用程序(4)
Django教程:第一个Django应用程序(4) 2013-10-09 磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.comqq 37391319 #博客: ...
- Django教程:第一个Django应用程序(3)
Django教程:第一个Django应用程序(3) 2013-10-08 磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.comqq 37391319 #博客: ...
- swift学习:第一个swift程序
原文:swift学习:第一个swift程序 最近swift有点火,赶紧跟上学习.于是,个人第一个swift程序诞生了... 新建项目
- Python 练习冊,每天一个小程序
Python 练习冊,每天一个小程序 说明: Github 原文地址: 点击打开链接 Python 练习冊.每天一个小程序.注:将 Python 换成其它语言,大多数题目也试用 不会出现诸如「 ...
- django学习笔记二:一个项目多个App项目搭建
django充许在一个项目中存在多个app,如一个大门户网站中可以包含论坛,新闻等内容,其中每一个模块称之为一个App,也可以理解为一个个独立的小型项目最终集成在一个门户网站中最终呈现给用户 本次测试 ...
- [python][django学习篇][3]创建django web的数据库模型
推荐学习博客:http://pythonzh.cn/post/8/ 博客或者web界面向用户展示内容,它需要从某个地方获取博客内容或者web界面内容,才能够展示出来.通常来说:某个地方指的就是数据库 ...
- Django学习手册 - 如何安装django 和 python ?
整体步骤阐述:(windows环境下) 步骤一,下载python安装包 (和 jiango 压缩包) 步骤二,安装python 配置python的环境变量 步骤三,安装djang 方式一:pip in ...
- python flask框架学习(二)——第一个flask程序
第一个flask程序 学习自:知了课堂Python Flask框架——全栈开发 1.用pycharm新建一个flask项目 2.运行程序 from flask import Flask # 创建一个F ...
随机推荐
- CRUD全栈式编程架构之控制器的设计
页面 这里界面我采用jquery miniui来做的,当你完全了解了整个设计之后可以轻松切换到其他的js框架,个人认为类似muniui,easyui等等这类可以将web界面做得和winform类似的框 ...
- 2017.9.30 Java中引用类型变量的创建及使用&循环的高级
今日内容介绍 1.引用类型变量的创建及使用 2.流程控制语句之选择语句 3.流程控制语句之循环语句 4.循环高级 ###01创建引用类型变量公式 * A: 创建引用类型变量公式 ...
- Python -函数的参数定义
一.函数的参数有四种,位置参数.默认参数.可变参数和关键字参数 def func(x, y=0, *arg, **args): '''x为位置参数 y有默认值 *arg为可变参数 **args为关键字 ...
- Linux下内存的几个基本概念
先介绍几个基本概念: SIZE: 进程使用的地址空间, 如果进程映射了100M的内存, 进程的地址空间将报告为100M内存. 事实上, 这个大小不是一个程序实际使用的内存数. RSS: "R ...
- 树状数组区间修改and查询和
在差分数组上稍加改变,就可以实现这个骚操作 首先我们先来看一看普通的树状数组(基于差分)怎么暴力的求解区间和就是询问区间长度次和 \(\sum^{i=1}_{len}\sum^{j=1}_{i}bas ...
- P2082 区间覆盖(加强版)
题目 #include<iostream> #include<algorithm> #include<cstring> using namespace std; s ...
- 前端JavaScript之DOM事件操作
DOM:文档对象模型,操作网页上的元素的API.比如让盒子移动.变色.轮播图等. 1.DOM(Document Object Moduel):文档对象模型 定义了访问和操作HTML文档的标准法,把HT ...
- 详解LinkedHashMap如何保证元素迭代的顺序
大多数情况下,只要不涉及线程安全问题,Map基本都可以使用HashMap,不过HashMap有一个问题,就是迭代HashMap的顺序并不是HashMap放置的顺序,也就是无序.HashMap的这一缺点 ...
- Map the Debris -freecodecamp算法题目
Map the Debris 1.要求 返回一个数组,其内容是把原数组中对应元素的平均海拔转换成其对应的轨道周期. 原数组中会包含格式化的对象内容,像这样 {name: 'name', avgAlt: ...
- CSU1216: 异或最大值(01Trie树)
Description 给定一些数,求这些数中两个数的异或值最大的那个值 Input 多组数据.第一行为数字个数n,1 <= n <= 10 ^ 5.接下来n行每行一个32位有符号非负整数 ...