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

来这里实习后,由于网络原因,昨天没有刷题也没有写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. Art of Unit Test (1) - Breaking Dependency

    #!/usr/bin/env python # encoding: utf-8 import unittest """ the simplyest way to test ...

  2. IOS 访问系统粘贴板

    粘贴板提供了一种核心OS特性,用于跨应用程序共享数据.用户可以跨应用来复制粘贴,也可以设置只在本应用中复制粘贴用来保护隐私. UIPasteboard类允许访问共享的设备粘贴板以及内容,下面代码返回一 ...

  3. DLR、ASTER GDEM、SRTM3、GMTED2010等5种全球高程数据对比

      目前网上有多种全球高程数据,国内在这方面也进步喜人,资源三号目前已放出来的卫片给了不少惊喜,其高程数值得期待.但资源三号的高程数据放出来还需等待,过去两三年全球高程数据发展相当迅猛,DLR放出了相 ...

  4. RejexLib

    http://www.regexlib.com/ http://www.brics.dk/automaton/index.html http://code.google.com/p/automatap ...

  5. MyBatis 最常见错误,启动时控制台无限输出日志

    你是否遇到过下面的情况,控制台无限的输出下面的日志: Logging initialized using ‘class org.apache.ibatis.logging.log4j.Log4jImp ...

  6. 嵌入式davinci电路元素基础和PWM模块

    1,DAC_OUT和DAC_OUTB是AD9912输出的差分信号. 2,电容器储存电荷的能力,常用的单位是F.uF.nF.pFUF大了好还是UF小了好,要根据电路自身需要而设计, 要看电路滤波是在高频 ...

  7. C++_auto

    自动变量,自动获取类型,输出,泛型 自动变量,可以实现自动循环一维数组 自动循环的时候,对应的必须是常量 //auto自动变量,自动匹配类型 #include <iostream> usi ...

  8. BeanUtils\DBUtils

    BeanUtil: 需要导入 beanutil包和logging日志包 用于给对象属性赋值. setProperty与copyProperty区别: 这个问题搁置,还不会. 将map数据拷贝到对象中, ...

  9. 用ADB(Android Debug Bridge)实时监测Android程序的运行

      监控Android设备上程序的运行,需要ADB的配合,具体ADB工具的介绍以及命令选项可见博客: http://blog.csdn.net/mliubing2532/article/details ...

  10. 如何在MFC中操作资源句柄

    如何获取动态库中对话框相关资源,避免因资源问题报错? AfxGetResourceHandle用于获取当前资源模块句柄AfxSetResourceHandle则用于设置程序目前要使用的资源模块句柄. ...