51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1418|回复: 1
打印 上一主题 下一主题

Python Django 初试手记

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-2-20 15:52:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
早几年因为试图学习php而对python的介绍也看了看,不过当时没有时间去认真学习一下,直到三年后的今天才又开始重新认识这门很有意思的语言。

因为需要做python的web开发,所以选择了Django这个框架,首先来介绍一下步骤吧。

1:下载python,可以是最新的,然而我下载了python2.6之后,发现Django没有支持2.6相应的mysql链接库,所以今天暂时无法测试其数据库的相关内容了,做了一个Django模板的小例子,开始入门。
2:下载Django,我目前的版本貌似是Django-1.1-beta-1,下载完成后,在其目录里应该能找到setup.py 这个文件。 windows下cmd 执行python setup.py install,开始安装。

安装完毕后,建议检查 pythoninstalldir/Scripts 目录是否在你的 PATH 环境中,如果不在,建议将这个目录设置到 PATH 中。因为如果你采用标准的 Python 安装方法,那么 Django 会自动在 Scripts 目录下安装 django-admin.py 程序。这样,一旦你设置了 Scripts 在 PATH 中,就可以在命令行下任何目录中执行 django-admin.py 了。

执行django-admin.py startproject test 这样就在当前目录下创建了一个test的工作目录.

这个 test 将是我们以后工作的目录,许多讲解都是基于这个目录的。
__init__.py表示这是一个 Python 的包manage.py提供简单化的 django-admin.py 命令,特别是可以自动进行 DJANGO_SETTINGS_MODULES 和 PYTHONPATH 的处理,而没有这个命令,处理上面环境变量是件麻烦的事情settings.py它是django的配置文件uls.pyurl映射处理文件, Karrigell 没有这种机制,它通过目录/文件/方法来自动对应,而 Django 的url映射是url对于某个模块方法的映射,目前不能自动完成OK,开始启动它吧
执行 manage.py runserver

一旦出现:
  1. Validating models...
  2. 0 errors found.
  3. Starting server on port 8000 with settings module 'newtest.settings'.
  4. Go to http://127.0.0.1:8000/ for Django.
  5. Quit the server with CONTROL-C (Unix) or CTRL-BREAK (Windows).
复制代码
说明 Django 真的启来了。在浏览器中看一下,有一个祝贺页面,说明成功了。


现在开始构建我所要的东西吧。

add.py
  1. # -*- coding: utf-8    -*-

  2. from django.shortcuts import render_to_response

  3. address = [
  4.         {'name':'alan', 'sex':'男','age':'25','address':'地址11111'},
  5.   {'name':'阿汐', 'sex':'男','age':'21','address':'地址222222'},
  6.   {'name':'sgicer', 'sex':'男','age':'23','address':'地址3333'},
  7.   {'name':'tidewind', 'sex':'男','age':'32','address':'地址4444'},
  8.   {'name':'cood', 'sex':'男','age':'22','address':'地址5555'},
  9.   {'name':'北极乞丐', 'sex':'男','age':'25','address':'地址6666'},
  10.   {'name':'北斗', 'sex':'男','age':'15','address':'地址7777'}
  11.         ]

  12. def index(request):
  13.         return render_to_response('list.html',{'address': address})
复制代码
第一行为了实现编码统一,不然当页面内有中文的时候会出现乱码。

导入了render_to_response 这个包,用来向页面输出模板文件以及其内容
address作为一个数组,包含了我所要动态输出的东西。

return render_to_response('list.html',{'address': address})
向list.html页面输出address这个数组的内容.

OK,让我们来看看list.html,很简单的一个遍历,从address数组中获取数据
  1. <h2>通讯录</h2>
  2. <table width="100%" cellpadding="0" cellspacing="0" id="tab" >
  3.     <tr>
  4.      <th width="17%">姓名</th>
  5.      <th width="17%">性别</th>
  6.      <th width="22%">年龄</th>
  7.      <th width="44%">地址</th>
  8.     </tr>
  9.     {% for user in address %}
  10.     <tr>
  11.     <td>` user`.`name `</td>
  12.     <td>` user`.`sex `</td>
  13.     <td>` user`.`age `</td>
  14.     <td>` user`.`address `</td>
  15.     </tr>
  16. {% endfor %}
  17. </table>
复制代码
修改 settings.py,在TEMPLATE_DIRS中增加一个路径,其中,我的list.html是放在当前目录的templates下的。
  1. TEMPLATE_DIRS = (
  2.         # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
  3.         # Always use forward slashes, even on Windows.
  4.         # Don't forget to use absolute paths, not relative paths.
  5.     './templates',
  6. )
复制代码
最终,来看看结果吧. 很不错的体验,继续学习。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-18 17:46 , Processed in 0.066045 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表