实习生的Django[1]
尽管学期尚未结束,暑假尚未到来,可是大三的同学非常多已经和我一样開始实习或者实习一段时间了。我仅仅面试了一间数据挖掘的公司的研发部,还算顺利通过。
来这里实习后,由于网络原因,昨天没有刷题也没有写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]的更多相关文章
- 华为测试大牛Python+Django接口自动化怎么写的?
有人喜欢创造世界,他们做了开发者:有的人喜欢开发者,他们做了测试员.什么是软件测试?软件测试就是一场本该在用户面前发生的灾难提前在自己面前发生了,这会让他们生出一种救世主的感觉,拯救了用户,也就拯救者 ...
- 测试开发:Python+Django实现接口测试工具
Python+Django接口自动化 引言: 最近被几个公司实习生整自闭了,没有基础,想学自动化又不知道怎么去学,没有方向没有头绪,说白了其实就是学习过程中没有成就感,所以学不下去.出于各种花里胡哨的 ...
- face++算法工程实习生面试
2018-01-11 算法工程实习生 自动化工具链方面 面试的知识点非常仔细,十分检验基本功底 1.自我介绍 2.算法题,leetcode 第一题 两数之和 问python中数组和字典的查找时间复杂 ...
- Django中的增删改查
1.model 假设我们的model如下: 某个JobType下有很多Job. class JobType(models.Model): name = models.CharField(max_len ...
- 异步任务队列Celery在Django中的使用
前段时间在Django Web平台开发中,碰到一些请求执行的任务时间较长(几分钟),为了加快用户的响应时间,因此决定采用异步任务的方式在后台执行这些任务.在同事的指引下接触了Celery这个异步任务队 ...
- 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...
- django server之间通过remote user 相互调用
首先,场景是这样的:存在两个django web应用,并且两个应用存在一定的联系.某些情况下彼此需要获取对方的数据. 但是我们的应用肯经都会有对应的鉴权机制.不会让人家随随便便就访问的对吧.好比上车要 ...
- Mysql事务探索及其在Django中的实践(二)
继上一篇<Mysql事务探索及其在Django中的实践(一)>交代完问题的背景和Mysql事务基础后,这一篇主要想介绍一下事务在Django中的使用以及实际应用给我们带来的效率提升. 首先 ...
- Mysql事务探索及其在Django中的实践(一)
前言 很早就有想开始写博客的想法,一方面是对自己近期所学知识的一些总结.沉淀,方便以后对过去的知识进行梳理.追溯,一方面也希望能通过博客来认识更多相同技术圈的朋友.所幸近期通过了博客园的申请,那么今天 ...
随机推荐
- linux下挂载NTFS分区错误修复
今天在linux下打开win的NTFS硬盘总是提示出错了,而且是全部的NTFS盘都出错,其中sda1错误显示如下: Error mounting /dev/sda1 at /media/wangbo/ ...
- CSS自学笔记(7):CSS定位
很多时候,我们需要对一些元素进行自定义排序.布局等,这是就需要用到CSS的定位属性了,用这些属性对一些元素进行自定义排序.布局等操作,可以改变浏览器默认的死板的排序. CSS定位的功能很容易理解,它允 ...
- zookeeper 学习笔记 (C语言版本)
1.zookeeper简介 zookeeper是Hadoop的子项目,在大型分布式系统中,zookeeper封装好了一些复杂易出错的服务,提供简单易用的接口,给使用者提供高效稳定的服务.这些服务包括配 ...
- html中上标、下标、删除字、小号字等
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- nginx 通过rsyslog发日志 rsyslog服务器挂掉 日志丢失问题
nginx 配置: user nginx; worker_processes 1; syslog local5 nginx-zjzc01; rsyslog 服务器收到的消息: -rw-r--r-- 1 ...
- 柯南君:看大数据时代下的IT架构(5)消息队列之RabbitMQ--案例(Work Queues起航)
二.Work Queues(using the Java Client) 走起 在第上一个教程中我们写程序从一个命名队列发送和接收消息.在这一次我们将创建一个工作队列,将用于分发耗时的任务在多个工 ...
- Twitter模块开发
Twitter模块开发 关于Twitter这一块,自发这篇博文之后有很多人问我,有的验证成功了不跳转,或者其它原因什么的 =======我看了一下,这篇博文里面有写呀,下面以红色粗体文字注明一下 Tw ...
- nodejs的url模块中的resolve()的用法总结
var url = require('url'); var a = url.resolve('/one/two/three', 'four') , b = url.resolve('http://ex ...
- [转]PB 基本语句 循环语句
PB 基本语句一.赋值语句赋值语句用于给变量.对象属性赋值,这是应用程序中使用最频繁的语句,其语法格式为:variablename = expression_r其中:⑴variablename是变量名 ...
- SQL Server存储过程和游标有关实例以及相关网址
内含游标的存储过程实例 第一种写法 GO BEGIN IF (object_id('PT_FAULT_REPORT', 'P') is not null) drop proc PT_FAULT_REP ...