Django 第一个 Hello World 项目

经过上一篇的安装,我们已经拥有了Django 框架

1.选择项目默认存放的地址

默认地址是C:\Users\Lee,也就是进入cmd控制台的地址,创建项目后命令 django-admin startproject project_test 默认地址就新建了一个项目文件夹。

项目包含一个manage.py文件和project_test文件夹

2.更换项目存放地址

我要更换的地址是G:\Django ,cmd操作就是先切换到G盘(其他盘同理)C:\Users\Lee>g: ,然后就出现了G:\>,我们再切换到G:\Django文件夹,操作 cd Django 或者cd G:\Django 操作地址就是G:\Django了

3.在新地址创建第一个项目hello

命令是django-admin startproject hello,如果django-admin出现不是内部或者外部命令,那就试试django-admin.py startproject hello

如果不出错就是创建成功了,G盘Django文件夹已经出现hello项目文件夹了

4.创建第一个自定义app——HelloWorld

首先你要进入hello 文件夹中,命令cd hello 现在已经进入hello 文件夹,命令 manage startapp HelloWorld,如果不出错则创建成功,如果出错试试manage.py startapp HelloWorld

以下5-7操作请先把cmd控制台放在一边,暂时不需要用到cmd 控制台。

5.添加设置信息

将自定义的HelloWorld添加到G:\Django\hello\hello\settings.py中的 INSTALL_APPS ,新建的 app 如果不加到 INSTALL_APPS 中的话, django 就不能自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件)

6.定义了一个网址函数

打开HelloWorld 这个文件夹下的视图函数views.py,添加以下代码内容,定义了一个index函数,将request参数传入,发送网页请求。

from django.http import HttpResponse
def index(request):
return HttpResponse("Hello World!")

7.将函数与访问网址关联起来

返回上一级G:\Django\hello 再次进入G:\Django\hello\hello文件夹中的urls.py,将from HelloWorld import views添加到代码头部,将以下代码添加到urlpatterns列表中,由图可以看出其实django默认已经添加了个admin网址了,等下我们可以访问这个admin网址。url部分中的r'^index/'是正则表达式,views.index 是关联的地址,name='Index'就是你给这个网页起的别名(不是网站的title),可有可无,即使是前面r'^index/'变成了r'^index2/',也能通过这个Index访问到index2的。

url(r'^index/',views.index,name='Index'),

将以上文件保存一下,至此为止我们就已经完成了网址建设,下面开始启动本地服务器浏览我们刚刚 的所建设的网址。

8.使用cmd控制台命令启动本地网站服务器。

在G:\Django\hello这个目录下(因为运行服务器需要manage命令,只有这个项目目录下才有这个manage.py)输入manage runserver (更改端口输入manage runserver 127.0.0.1:8080),不出意外的话网站服务器搭建成功了。但凡事总有个bug,我在windows搭建完成后出现UnicodeDecodeError编码错误,详情见《Django 踩过的坑(一)》

没出现报错,说明运行成功了,网站访问index地址是http://127.0.0.1:8000/index/或者http://localhost:8000/index/,然后你就能看到你的第一个页面啦,还记得admin页面么?我们访问下 http://127.0.0.1:8000/admin/ 发现重定向302跳转到登录页面了,因为还木有创建超级用户所以不能登录呢。同时,你也可以发现cmd控制台是同步更新你的操作的,控制台有相应得访问记录。

最后总结一下思路:

新app在同层级的项目名(hello)中的settings.py进行报备

—>新app文件夹中的views.py进行网页内容设置

—>新app在同层级的项目名(hello)中的urls.py中进行网址关联

—>启动服务器

—>访问对应网站

系列上一章:Django 学习笔记(一)安装

系列下一章:Django 学习笔记(三)模板导入

Django 学习笔记(二)的更多相关文章

  1. Django学习笔记二

    Django学习笔记二 模型类,字段,选项,查询,关联,聚合函数,管理器, 一 字段属性和选项 1.1 模型类属性命名限制 1)不能是python的保留关键字. 2)不允许使用连续的下划线,这是由dj ...

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

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

  3. Django学习笔记(二):使用Template让HTML、CSS参与网页建立

    Django学习笔记(二):使用Template让HTML.CSS参与网页建立 通过本文章实现: 了解Django中Template的使用 让HTML.CSS等参与网页建立 利用静态文件应用网页样式 ...

  4. Django 学习笔记之四 QuerySet常用方法

    QuerySet是一个可遍历结构,它本质上是一个给定的模型的对象列表,是有序的. 1.建立模型: 2.数据文件(test.txt) 3.文件数据入库(默认的sqlite3) 入库之前执行 数据库同步命 ...

  5. Django 学习笔记之三 数据库输入数据

    假设建立了django_blog项目,建立blog的app ,在models.py里面增加了Blog类,同步数据库,并且建立了对应的表.具体的参照Django 学习笔记之二的相关命令. 那么这篇主要介 ...

  6. Django 学习笔记(三)模板导入

    本章内容是将一个html网页放进模板中,并运行服务器将其展现出来. 平台:windows平台下Liunx子系统 目前的目录: hello ├── manage.py ├── hello │ ├── _ ...

  7. Django 学习笔记(七)数据库基本操作(增查改删)

    一.前期准备工作,创建数据库以及数据表,详情点击<Django 学习笔记(六)MySQL配置> 1.创建一个项目 2.创建一个应用 3.更改settings.py 4.更改models.p ...

  8. Django 学习笔记(六)MySQL配置

    环境:Ubuntu16.4 工具:Python3.5 一.安装MySQL数据库 终端命令: sudo apt-get install mysql-server sudo apt-get install ...

  9. Django学习笔记(9)—— 开发用户注册与登录系统

    一,项目题目: 开发用户注册与登录系统 该项目主要练习使用Django开发一个用户注册与登录的系统,通过这个项目然后巩固自己这段时间所学习的Django知识. 二,项目需求: 开发一个简单的用户登录与 ...

随机推荐

  1. 【CSS Cookbook】笔记摘要(一)

    概要 CSS的优点:将表现和内容相分离:更好地控制页面布局:大大减少了文件尺寸:缩短了改版时间:提高了易用性. CSS全称层叠式样表(Cascading Style Sheets). 1.问题:如何最 ...

  2. Vmware报错:此主机支持IntelVTx 但IntelVTx处于禁用状态

    "此主机支持IntelVTx 但IntelVTx处于禁用状态",报错原因:电脑未开启虚拟化 解决方案: 电脑关机(是关机不是重启)--开机,进BIOS --选择 configura ...

  3. Java基础知识二次学习--第四章 异常

    第四章 异常处理   时间:2017年4月26日11:16:39~2017年4月26日11:28:58 章节:04章_01节 04章_02节 视频长度:20:46+01:16 内容:异常的概念 心得: ...

  4. 第十五章(附)分布式缓存-Memcached

    一.概念 Memcached是danga.com(运营LiveJournal的技术团队)开发的一套分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升性能. 二.适用场合 1.分布式应用.由于 ...

  5. JS组件系列——自己动手扩展BootstrapTable的treegrid功能

    前言:上篇  JS组件系列——自己动手封装bootstrap-treegrid组件 博主自己动手封装了下treegrid的功能,但毕竟那个组件只是一个单独针对树形表格做的,适用性还比较有限.关注博主的 ...

  6. 一、Openstack_Ocata环境部署准备

    OpenStack Ocata环境搭建准备 1.workstation下配置3个虚拟交换机 点击编辑-->虚拟网络编辑器 名称 IP地址 作用 VMnet1 10.1.1.0 Openstack ...

  7. Floyd判圈算法

    Floyd判圈算法 leetcode 上 编号为202 的happy number 问题,有点意思.happy number 的定义为: A happy number is a number defi ...

  8. pb传输优化浅谈

    在正式切入今天要谈的优化之前,先碎碎念一些自己过去这几年的经历.很久没有登录过博客园了,今天也是偶然兴起打开上来看一下,翻看了下自己的随笔,最后一篇原创文章发布时间是2015年的4月,今天是2017年 ...

  9. jquery中的$(document).ready()使用小结

    本篇文章主要是对jquery中的$(document).ready()使用方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 window.onload = function(){ ...

  10. 锁和监视器之间的区别 – Java并发

    在面试中你可能遇到过这样的问题:锁(lock)和监视器(monitor)有什么区别? 嗯,要回答这个问题,你必须深入理解Java的多线程底层是如何工作的. 简短的答案是,锁为实现监视器提供必要的支持. ...