guoguo616 发表于 2013-8-20 20:24:46

【Meet Django】The Django framework官方tutorial搬运翻译

初次发帖,如有缺陷,请各位大大提出来我会马上改的,欢迎各位前来交流
本帖翻译的是Django document First step下的6个tutorial,前提是你已经有linux系统的基础和一个已经装好Django 1.5的虚拟机(就是正常的系统也没问题啦~我用的是Ubuntu13.04)

安装英文教程请戳 https://docs.djangoproject.com/en/1.5/intro/install/,如果有朋友需要翻译的话请在本文下面留言。

另有两个advanced tutorial楼主一旦有时间就会发上来的。
今天就先上第一部分拉,给需要用的朋友们。

Writing your first Django app, part 1
构建你的第一个Django应用,序列1【啊喂这个就不用翻译了吧

让我们通过实践来学习,整个的这个教程会手把手的教你写一个投票系统出来。
这个这个app分为两部分:
1. 一个让人投票和看投票结果的公共站点
2. 一个用来管理投票的管理员站点

我们假设你已经安装好了Django,你可以用下面的语句来判断你是否安装了Django并找到你的Django版本:
python -c "import django; print(django.get_version())"
如果你已经安装好了Django那么系统就换显示你的版本号,否则会出现“No module named django”的错误。

这个教程面向Django1.5和Python2.x,如果你的版本不对,请去上面的英文安装教程处下载最新版本。如果你是用的是python3.0,那么代码可能会有些出入,这就意味着你必须知道你的代码是在干什么。

创建项目:

如果这是你第一次使用Django,那么你需要过一些初始化的步骤,也就是说,你需要一些自动生成的代码来建立你的项目---一个Django项目实例的设置集,包括数据库选项,Django主程序选项和当前项目选项。

从系统terminal中cd进你想要存放你项目代码的目录,然后输入下面的命令:

django-admin.py startproject mysite

这将会在你当前目录生成一个叫mysite的文件夹,如果这部出现了问题,请戳https://docs.djangoproject.com/en/1.5/faq/troubleshooting/#troubleshooting-django-admin-py

请注意,你的项目的名字需要和Django内建的app之间区分开来,比如说一定不要用Django或者test来命名你的项目

因为Django不是老式的php框架,所以你不需要将项目放在你服务器的文档根目录上(一般来说是/var/www/),严格来讲是不要将你的项目放在那里,因为如果你这样做了的话,别人将会完完全全的看见你的代码,这是不安全的。

请将你的项目放在文档根目录之外,并确保你有这个目录的修改权限,比如/home/mycode/

让我们来看一下刚才的命令都生成了什么东西:
mysite/
    manage.py
    mysite/
      __init__.py
      settings.py
      urls.py
      wsgi.py

如果你看到的目录结构和上面不符合的话,你一定用的是老版本,去升级吧少年。

这些文件分别是:
1. 外部的mysite/根目录只是你项目的容器,他的名字和你的项目半毛钱关系都没有,你可以随时重命名它。
2. manage.py是一个提供了你和你的项目之间多种互动方式的命令行小工具,想要深入了解的话,请戳https://docs.djangoproject.com/en/1.5/ref/django-admin/
3. 内部的mysite/里装的是实实在在的你项目会用到的python包,这些文件的文件名就是它的包名,你要用里边的任何东西都必须要先import(例如mysite.urls)
4. mysite/__init__.py是一个空文件,用来告诉python这个文件夹是一个python包,想了解python包的话请戳http://docs.python.org/tutorial/modules.html#packages
5. mysite/settings.py是这个项目的设置文件,,想要深入了解的话,请戳https://docs.djangoproject.com/en/1.5/topics/settings/
6. mysite/urls.py 是你的项目的地址声明文件,是你项目的“内容表”,想要深入了解的话,请戳https://docs.djangoproject.com/en/1.5/topics/http/urls/
7. mysite/wsgi.py是你项目的web服务器网关接口入口,想要深入了解的话,请戳https://docs.djangoproject.com/en/1.5/howto/deployment/wsgi/

开发服务器:

让我们检查他是否工作了吧,cd到外部的mysite文件夹,然后输入以下命令:
python manage.py runserver
你应该看到你的命令行上出现了这样的字样:
Validating models...

0 errors found
August 20, 2013 - 15:50:53
Django version 1.5, using settings 'mysite.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
现在你已经启动了Django开发服务器,一个用纯python写的轻量级服务器,这些东西我们已经准备好了,你不需要更改任何服务器设置(包括apache),除非你已经进入了发行阶段。请不要在已经开放的产品环境使用这个服务器,django是用来写网络框架的不是用来写网络服务器的。
现在这个服务器应该已经开始运行了,请在浏览器上访问http://127.0.0.1:8000,如果出现了"welcome to Django"页面,恭喜你,搭建已经成功了。

默认的开发服务器端口号是8000,如果你想要更改端口号,和服务器地址,你可以在开启server的时候输入以下命令:
python manage.py runserver 0.0.0.0:8080
上面的例子将服务器地址改为0.0.0.0,端口号为8080。
想要对runserver命令了解更多的话,请戳https://docs.djangoproject.com/en/1.5/ref/django-admin/#django-admin-runserver

安装数据库

现在,编辑/mysite/settings.py,z和是一个用变量表现设置项的普通python模块。更改DATABASES 'default' 中的以下变量来完成你的数据库连接设置:
1. ENGINE 是你的数据库驱动器类型,可选的有 'django.db.backends.postgresql_psycopg2', 'django.db.backends.mysql', 'django.db.backends.sqlite3' or'django.db.backends.oracle',其他数据库驱动请戳https://docs.djangoproject.com/en/1.5/ref/settings/#std:setting-DATABASE-ENGINE
2. NAME是你的数据库名,如果你用的是SQLite,数据库就会是你电脑上的一个文件,所以NAME就必须输入整个的绝对路径,如果文件不存在的话,会在第一次同步数据库时被创建。输入路径时,一定要用正斜线(也就是除号),就算是windows也要用正斜线!(如果本来是"d:\\Django_proj\\mysite"就要改成"d:/Django_proj/mysite")
3. USER,数据库用户名,SQLite的话不需要
4. PASSWORD,数据库密码,SQLite的话不需要
5. HOST,数据库所在的主机。如果你的数据库和项目在物理上属于同一台主机的话,就留空或者写"127.0.0.1",SQLite的话不需要
如果你以前没玩过数据库的话我们推荐SQLite,把ENGINE设置为'django.db.backends.sqlite3',NAME设置为你想要放置数据库的路径。SQLite是Python自带的所以你不需要安装任何附加的东西。
如果你要用PostgreSQL或者MySQL的话,确保在这之前你已经建立了数据库。
记得把TIME_ZONE调整到你需要的时区,默认为芝加哥。
另外,最下面的INSTALLED_APPS记录了你项目中所有可用的APP,APP可以被多个项目使用,你可以将他们打包发行或者用在别的项目中。默认情况下,以下的app是已经预装了的。:

1. django.contrib.auth 登录系统
2. django.contrib.contenttypes 内容类型框架
3. django.contrib.sessions 会话框架
4. django.contrib.sites 用来管理同一台机子上多个站点的框架
5. django.contrib.messages 消息框架
6. django.contrib.staticfiles 静态文件管理框架

这些app为了方便一般的行为是在默认情况下预装的,如果你不需要其中的一个APP,请尽情注释掉那一行。
每个app都会至少需要一张数据库表,在使用他们之前我们首先需要创建这些表。命令为:
python manage.py syncdb
syncdb命令会根据INSTALLED_APP同步必要的数据库,创建每个表的时候屏幕上都会有提示信息。另外会询问是否需要管理系统的超级用户,乃们自己创建一个吧。


手打现翻好累啊/(ㄒoㄒ)/~~ 今天就到这吧,明天会把tutorial 1结掉,有问题就提吧,没人看就当我自行备份了。隐了。




https://www.gn00.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 guoguo616的微博

guoguo616 发表于 2013-8-20 20:26:54

本帖最后由 guoguo616 于 2013-10-19 00:45 编辑

嗯~ o(* ̄▽ ̄*)o ,特么的竟然忘了有这帖子了!妈蛋。。。@@25!!【才想起来更新【才不是因为懒【更不是因为拖延症【因为窝是天秤座(*゜ロ゜)ノ
前两天无聊到去google Django的奇怪新闻结果搜索到了Django教程的中文版doc文档以及网站!。。。摔@@25!!
嗯那就省事啦!
【当翻译真难@@8!!B站的字幕君都是怎样的毅力@@8!!
在此深深地祝福所有奋斗在翻译一线的天下有情人【都是亲兄妹】@@22!!
贴上教程doc的度娘盘链接:
http://pan.baidu.com/s/1ABsyN
还有网站:
http://djangobook.py3k.cn/2.0/
拿走不谢。
【自然会有人要的。。。我不是在自我安慰。。。@@18!!

guoguo616 发表于 2013-8-20 23:41:01

召唤术: @一毛七

一毛七 发表于 2013-8-20 23:45:00

……看起来好高端默默蹲地渣渣表示围观=皿=

不过我决定先占楼了哈哈哈哈#pm

guoguo616 发表于 2013-8-21 00:09:22

一毛七 发表于 2013-8-20 23:45 static/image/common/back.gif
……看起来好高端默默蹲地渣渣表示围观=皿=

不过我决定先占楼了哈哈哈哈 ...

#12x多谢支持~

guoguo616 发表于 2013-10-19 00:43:36

结!贴!【真の水贴@@32!!
页: [1]
查看完整版本: 【Meet Django】The Django framework官方tutorial搬运翻译