Python Web 实战 - 搭建Django环境和初步使用

下载安装

官网下载和已安装的python版本对应的Django版本。

解压后进入目录,执行 python setup.py install,执行安装命令,所谓安装其实是将需要的文件拷贝到python对应的目录。

但第一次却报错

Traceback (most recent call last):
  File "setup.py", line 5, in <module>
    from setuptools import find_packages, setup
ImportError: No module named setuptools

原来是windows环境下python默认没有安装 setuptools 这个模块,所以提示找不到。

去 https://bootstrap.pypa.io/ez_setup.py 下载ez_setup.py脚本并执行就自动安装上了。

创建PyDev Django Project

在Eclipse,New-PyDev Django Project,创建成功后,Run该项目,Django有一个内置的服务器,Run后该服务器就启动起来了。

在浏览器执行 http://localhost:8000/ 可看到一个默认的输出页面。

新建一个py文件,比如在目录 mypy下

mypy/hello.py

from django.http.response import HttpResponse

def hi(request):
    return HttpResponse("Hello Python")
修改urls.py

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
#     url(r'^admin/', include(admin.site.urls)),
    url(r'index', "mypy.hello.hi"),
]

url(r'index', "mypy.hello.hi"), 表示在浏览器输入 http://localhost:8000/index,就可以访问 mypy包下文件hello的hi方法,hi方法返回的字符串会显示在页面上。

使用Django加载静态网页模板

创建html页面 /html/index.html

修改 settings.py下的 TEMPLATES 的 DIR,将index.html所在目录赋值给DIR。

使用内置函数render_to_response加载网页

loadHtml.py

from django.shortcuts import render_to_response

def hiHtml(request):
    return render_to_response("index.html")

模板注入

在loadHtml.py中定义一个key-value,做实参给了render_to_response

<span style="font-size:18px;">def hiHtml(request):
    user = {'name':'nqy',"age":29}
    return render_to_response("index.html",user)</span>

在index.html中通过引用key,使用value的值

<span style="font-size:18px;">my name is  {{name}}</span>
Django框架约定使用key的方式是{{ }}


(我发现对于初级入门型的课程,大可不必花钱学,因为网上这类免费资源多的是,真正需要付费的是那些高级课程)


读取get参数

request.GET.get(" ")

<span style="font-size:18px;">id = request.GET.get("id")
name = request.GET.get('name')</span>

中文乱码问题

在源码开头声明编码:#coding:utf-8

控制台乱码:修改默认编码集,重启web项目


条件判断

注意条件后面的 ":" 

<span style="font-size:18px;">if 1==1:
    print 'ok'
    a = 3+5
    print a
else:
    print 'false' </span>


<span style="font-size:18px;">if 'keys' in user:
    print user['key']
else:
    print 'no key \'keys\' in user'</span>

None是特殊的常量,表示“不存在”

判断某个值是否存在的两种方式

<span style="font-size:18px;">user={'id':1,'value':'m'}
if 'id' in user.keys():
    print user['id']
else:
    print 'None'

print '----'

if user.get('id')==None:
    print 'None'
else:
    print user.get('id')</span>


表单

index.html

<span style="font-size:18px;"><form>
	UserName:<input type="text" name="username" value="mac"/>
	<br/>
	PassWord:<input type="password" name="pw"/>
	<br/>
	<input type="submit" value="Submit"/>
</form>

Your name is {{myusername}}
<br/>
Your password is {{mypw}}</span>

loadHtml.py

<span style="font-size:18px;">#coding:utf-8
from django.shortcuts import render_to_response

def hiHtml(request):
    user = {'myusername':"void","mypw":"void"}
    if 'username' in request.GET:
        un = request.GET.get("username")
        print un
        user['myusername'] = un
    if 'pw' in request.GET:
        pw = request.GET.get('pw')
        print pw
        user['mypw']=pw
    
    return render_to_response("index.html",user)</span>

next:第10讲 限制用户输入纯数字






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值