尽管学期尚未结束,暑假尚未到来,可是大三的同学非常多已经和我一样開始实习或者实习一段时间了。我仅仅面试了一间数据挖掘的公司的研发部,还算顺利通过。

来这里实习后,由于网络原因,昨天没有刷题也没有写BLOG,一切都在准备中,公司要我们做的项目对于我来说是非常困难的,详细我也不能说是什么,大概就是与大数据和python打交道吧,带我们的技术人员让我们学习Django,于是就有了这一系列文章了,这是第一篇。

由于我的博客没什么人看,除了你之外,所以我也不用操心写得不官方不正式。

第一天,由于要搭建我的环境(刷成fedora20,再配置一下我之前写的shell脚本,alias,以及vim,状态了一大堆东西python之类的东西),所以工作的时间非常短呢,今天的任务非常easy,就是:  Django概念+搭建Django环境+Hello World!)

什么是Django?

不能且不想说得太官方,不然非常多像我这种新手会关掉这个无聊的博客了.

我们简单理解为:假如Web开发就是画一个直线,Django就是一把尺子。(Django就是Web开发框架,框架就是所谓的“尺子”了,自己YY吧)

搭建Django环境

首先,假设你是一个Windows的用户,那么非常不幸,看到这里才发现作者居然是个linux脑残粉,一无所获地离开再JJYY两句。

这学期的环境一直在变,之前在实验室是centos,自己一直用ubuntu,来到公司是fedora 20。

step1: 你要确保你有python,我的是2.7。假设你没有python,那真的是非常奇怪的事情了,而且自己sudo yum install python!

step2:sudo yum install django

step3:找到你的django/bin目录,我的电脑路径是/usr/lib/python2.7/site-packages/django/bin,再拷贝到你的bin下,

sudo cp /usr/lib/python2.7/site-packages/django/bin/django-admin.py  ~/bin/.

来到这里前期工作就完毕了。

神一样的HelloWorld

我一直在想Brian Kernighan教他孩子说话的第一句不是'dad,mom'之类的,而是‘Hello!World!’!!!!

秉承传统,这个HelloWorld比起C++难多了...(实际上可能是作者太蠢了)

首先,我们须要创建project,我们在一个其它人有訪问权限的目录创建一个目录Workspace,进入Worksapce后,输入命令

django-admin.py startproject mysite(假设你出现命令找不到,请參考搭建好开发环境的第三步)

之后,正常情况下,会出现mysite,之后再进入会出现manage.py 
mysite (还是mysite目录),mysite里面有

然后我们淡定地进入mysite,发现里面有__init__.py ,settings.py, urls.py, 
wsgi.py,好多东西!!只是我们眼下仅仅须要用到urls.py

以下我们在mysite中(有__init__.py什么的那个!)创建一个views.py

引入HttpResponse而且写一个很easy的hello函数

#!/usr/bin/env python
# coding=utf-8
from django.http import HttpResponse def hello(request):
return HttpResponse("Hello World!")

之后保存退出,改动urls.py

发现里面是这种:

from django.conf.urls import patterns, include, url

from django.contrib import admin

admin.autodiscover()

urlpatterns = patterns('',
# Examples:
# url(r'^$', 'hellow.views.home', name='home'), # url(r'^blog/', include('blog.urls')),
url(r'^admin/', include(admin.site.urls)), )

我们稍作改动:

1.引入我们刚刚的hello函数。

2.改动patterns

from django.conf.urls import patterns, include, url
from django.contrib import admin  
from views import hello   #Here!!!
admin.autodiscover() urlpatterns = patterns('',
# Examples:
# url(r'^$', 'hellow.views.home', name='home'), # url(r'^blog/', include('blog.urls')),
#url(r'^admin/', include(admin.site.urls)),
(r'^helloworld/',hello)   #Here!!!
)

假设这么简单的正則表達式都看不懂的话...请自行搜索..

来到这里,就OK

请!回到有manage.py的文件夹,输入命令

python manage.py runserver

十分长的命令~建议要弄个alias!假设你不知道什么是alias,那么你还是用回windows吧!

好了,来到这里,请在你的浏览器中输入

http://127.0.0.1:8000/helloworld/

Hello World!

来到这里,本文就结束了,没想到你能坚持到这里,我给你点赞。

实习生的Django[1]的更多相关文章

  1. 华为测试大牛Python+Django接口自动化怎么写的?

    有人喜欢创造世界,他们做了开发者:有的人喜欢开发者,他们做了测试员.什么是软件测试?软件测试就是一场本该在用户面前发生的灾难提前在自己面前发生了,这会让他们生出一种救世主的感觉,拯救了用户,也就拯救者 ...

  2. 测试开发:Python+Django实现接口测试工具

    Python+Django接口自动化 引言: 最近被几个公司实习生整自闭了,没有基础,想学自动化又不知道怎么去学,没有方向没有头绪,说白了其实就是学习过程中没有成就感,所以学不下去.出于各种花里胡哨的 ...

  3. face++算法工程实习生面试

    2018-01-11 算法工程实习生  自动化工具链方面 面试的知识点非常仔细,十分检验基本功底 1.自我介绍 2.算法题,leetcode 第一题 两数之和 问python中数组和字典的查找时间复杂 ...

  4. Django中的增删改查

    1.model 假设我们的model如下: 某个JobType下有很多Job. class JobType(models.Model): name = models.CharField(max_len ...

  5. 异步任务队列Celery在Django中的使用

    前段时间在Django Web平台开发中,碰到一些请求执行的任务时间较长(几分钟),为了加快用户的响应时间,因此决定采用异步任务的方式在后台执行这些任务.在同事的指引下接触了Celery这个异步任务队 ...

  6. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

  7. django server之间通过remote user 相互调用

    首先,场景是这样的:存在两个django web应用,并且两个应用存在一定的联系.某些情况下彼此需要获取对方的数据. 但是我们的应用肯经都会有对应的鉴权机制.不会让人家随随便便就访问的对吧.好比上车要 ...

  8. Mysql事务探索及其在Django中的实践(二)

    继上一篇<Mysql事务探索及其在Django中的实践(一)>交代完问题的背景和Mysql事务基础后,这一篇主要想介绍一下事务在Django中的使用以及实际应用给我们带来的效率提升. 首先 ...

  9. Mysql事务探索及其在Django中的实践(一)

    前言 很早就有想开始写博客的想法,一方面是对自己近期所学知识的一些总结.沉淀,方便以后对过去的知识进行梳理.追溯,一方面也希望能通过博客来认识更多相同技术圈的朋友.所幸近期通过了博客园的申请,那么今天 ...

随机推荐

  1. Window及document对象的区别

    一.Window对象 -------------------------------------------------- ------------------- 对象属性 window //窗户自身 ...

  2. loading 动画效果(收藏起来以后留着慢慢用)

    动画效果一: html代码: <div class="spinner">   <div class="rect1"></div&g ...

  3. servlet tomcat eclipse

    网上搜到的很多利用eclipse结合tomcat开发servlet的教程都要修改server.xml 感觉这种方式太粗暴了,server.xml最好是与应用无关的, 这里比较推荐export war的 ...

  4. 17.java.lang.CloneNotSupportedException

    java.lang.CloneNotSupportedException不支持克隆异常 当没有实现Cloneable接口或者不支持克隆方法时,调用其clone()方法则抛出该异常.

  5. J2SE知识点摘记(二十六)

    为了用“集合框架”的额外部分把排序支持添加到 Java 2 SDK,版本 1.2,核心 Java 库作了许多更改.像 String 和 Integer 类如今实现 Comparable 接口以提供自然 ...

  6. 搭建Android开发环境之——Android4.0.3, 4.1, 4.2, 4.3, 4.x,及升级 ADT(22.0.5)和SDK(22.x)

    1.首先要下载相关的软件 1). JDK 6 以上 2). eclipse( Version 3.6.2  or higher ) 点击下载 3). SDK(android-sdk_r18-windo ...

  7. 在windows下进行linux开发:利用Vagrant+virtualbox(ShowDoc与mp3dish的作者)

    1,介绍Vagrant 我们做web开发的时候经常要安装各种本地测试环境,比如apache,php,mysql,redis等等.出于个人使用习惯,可能我们还是比较习惯用windows.虽然说在wind ...

  8. 适配器模式—STL中的适配器模式分析

    适配器模式通常用于将一个类的接口转换为客户需要的另外一个接口,通过使用Adapter模式能够使得原本接口不兼容而不能一起工作的类可以一起工作. 这里将通过分析c++的标准模板库(STL)中的适配器来学 ...

  9. 学习使用crosswalk

    1.创建一个工程,最好使用Swift语言,或者也可以叫做雨燕语言,名字很好听吧,功能也是很强大的.言归正传,创建好工程后,需要用CocoaPod工具,不懂的童鞋自行google吧. 根据CrossWa ...

  10. js中字符串方法

    字符串方法: 1. charAt(索引值)//通过索引值获取字符串中对应的值 例如: var str='sdf123'; alert(str.charAt(0));//结果弹出第一个索引对应的值:s