项目开发环境

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程序的更多相关文章

  1. python web开发——django学习(二)第一个django网站运行成功

    1.写message_form.html <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  2. Python Tkinter学习(1)——第一个Tkinter程序

    注:本文可转载,转载请注明出处:http://www.cnblogs.com/collectionne/p/6885066.html.格式修改未完成. Tkinter资料 Python Wiki, T ...

  3. Django教程:第一个Django应用程序(4)

    Django教程:第一个Django应用程序(4) 2013-10-09 磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.comqq 37391319 #博客: ...

  4. Django教程:第一个Django应用程序(3)

    Django教程:第一个Django应用程序(3) 2013-10-08 磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.comqq 37391319 #博客: ...

  5. swift学习:第一个swift程序

    原文:swift学习:第一个swift程序 最近swift有点火,赶紧跟上学习.于是,个人第一个swift程序诞生了... 新建项目

  6. Python 练习冊,每天一个小程序

    Python 练习冊,每天一个小程序 说明:     Github 原文地址: 点击打开链接 Python 练习冊.每天一个小程序.注:将 Python 换成其它语言,大多数题目也试用 不会出现诸如「 ...

  7. django学习笔记二:一个项目多个App项目搭建

    django充许在一个项目中存在多个app,如一个大门户网站中可以包含论坛,新闻等内容,其中每一个模块称之为一个App,也可以理解为一个个独立的小型项目最终集成在一个门户网站中最终呈现给用户 本次测试 ...

  8. [python][django学习篇][3]创建django web的数据库模型

    推荐学习博客:http://pythonzh.cn/post/8/ 博客或者web界面向用户展示内容,它需要从某个地方获取博客内容或者web界面内容,才能够展示出来.通常来说:某个地方指的就是数据库 ...

  9. Django学习手册 - 如何安装django 和 python ?

    整体步骤阐述:(windows环境下) 步骤一,下载python安装包 (和 jiango 压缩包) 步骤二,安装python 配置python的环境变量 步骤三,安装djang 方式一:pip in ...

  10. python flask框架学习(二)——第一个flask程序

    第一个flask程序 学习自:知了课堂Python Flask框架——全栈开发 1.用pycharm新建一个flask项目 2.运行程序 from flask import Flask # 创建一个F ...

随机推荐

  1. 【转载】#330 - Derived Classes Do Not Inherit Constructors

    A derived class inherits all of the members of a base class except for its constructors. You must de ...

  2. Java UUID Generator(JUG)

    UG 是一个纯 Java 的 UUID 生成器. UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.通常平台会提供生成UUID的API.UUID按照开放软件基金 会 (OS ...

  3. MYSQL 之SET GLOBAL innodb_buffer_pool_size =n

    工作遇到一个情况是索引相同的情况下,mysql服务在linux上运行很快,在windows服务器上运行很慢,版本是V5.7以后得版本,同事查找了下说应该设置 SET GLOBAL innodb_buf ...

  4. Poj(1182),种类并查集

    题目链接:http://poj.org/problem?id=1182 再次熟练种类并查集,又积累点经验,和技巧,rank 0 2 1 先计算father[x] ,再更新rank[x]; #inclu ...

  5. 两次DFS,POJ(1481)

    题目链接:http://poj.org/problem?id=1481 两次DFS,这里的思路是,没找到*,就说明,有一个骰子,因此,每搜索到一个*,深搜4个方向,并且变为'.',要是搜到'X',就是 ...

  6. TeamCity实战(2):NuGet服务器

    如果有在内网架设NuGet服务器的需要,比如说公司要求所有开发人员的开发机与外网隔离,但是项目开发又必须要通过NuGet获取开发包的情况. 打开选项其实很简单,但是打开之后怎么样更新开发包要复杂些了. ...

  7. kiiti分割的数据及其处理

    kitti和cityscape的gt的分割不太一样,下边缘不再是从黑色开始的,而是直接是类别 red,green,blue = img_gt[i,j] 1.道路的颜色(紫色):128 64 128 2 ...

  8. HTTP 下载文件工具类

    ResponseUtils.java package javax.utils; import java.io.ByteArrayInputStream; import java.io.File; im ...

  9. miller——rabin

    突然发现自己在线性筛素数中有这个,忘了好久: #include<iostream> #include<cstdio> using namespace std; long lon ...

  10. js一键复制到剪切板

    <div id='demo'>我就是被复制的内容<span>点击复制<span></div> $('#demo').on('click','span', ...