Django官方文档----编写自己的Django程序之第一步

官方文档地址:https://docs.djangoproject.com/en/1.7/intro/tutorial01/


通过这个教程,我们会让你弄明白一个基础的投票程序的创建。

这个程序由两个部分组成:

1.一个让人们查看选票以及投票的网站。

2.一个让你添加、修改、删除选票的管理后台。

在此之前你必须保证已经装了Django,你可以通过一下命令查看是否安装了Django以及Django的版本是多少:

$ python -c "import django; print(django.get_version())"

如果你安装了Django,你就会看到Django的版本号;否则,你就会看到出错信息:“No module named django”(没有叫django的模块)

这个教程是为Django 1.7 和 Python 3.2 以及之后的版本写的。如果你的版本不是1.7,你可以查看对应版本的文档或者把Django升级到1.7。若你的Python版本是2.7,你需要在例子中略微调整下代码,按照在评论中描述的即可。

查看怎么安装Django来删除旧版Django以及安装新版Django。

如果这是你第一次使用Django,你必须小心某些初始化设置。也就是说,你必须自动生成一些代码来,这些代码就组成了Django项目:一个Django实例的设置集合,包括数据库的配置,Django具体的选项以及应用程序的特定设置。

在命令行中,cd到你准备存放Django代码的目录,然后执行下面的命令:

$ django-admin.py startproject mysite

这将会在当前目录中创建一个mysite的目录,若创建不成功,请查看运行django-admin.py失败的问题。

让我们来看看startproject创建了什么:

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py
创建的文件:

1.外层的 mysite/ 根目录是你项目的容器。它的名称不会影响Django,你可以根据你的喜好重命名。

2.manage.py:它有命令行的功能,能让你以多种方式和Django项目交互。你可以在这里找到更多的相关信息。

3.里面的 mysite/ 目录里就是你项目实际用的Python包。它的名字即是Python包的名字,也就是你使用此包时要导入的名字(如:mysite.urls)。

4.mysite/__init__.py:一个空的文件。但是这个文件会告诉Python这个目录应该被当作一个Python包。(如果你是个Python新手,可以看看Python的官方文档中关于包的解释)。

5.mysite/settings.py:Django项目的设置或者配置。Django设置会告诉你所有关于设置是怎么工作的。

6.mysite/urls.py:Django项目的URL路由设置。你可以在URL中了解更多关于URL适配的信息。

7.mysite/wsgi.py:一个兼容WSGI的网站服务的入口点。它用来服务于你的项目。


数据库设置:

现在,编辑 mysite/settings.py 文件。它是一个普通的Python模块,里面有代表Django设置的模块级变量。

Django默认使用SQLite。如果你刚接触数据库,或者是只对Django感兴趣,这个默认的数据库就是最好的选择。Python里包含SQLite,所以你不需要安装任何扩展包来支持你的数据库。若你想用别的数据库,安装合适的数据库支持包,然后修改在DATABASES 中名为 'default'的值来匹配你的数据库连接设置。

1.ENGINE 可以是'django.db.backends.sqlite3','django.db.backends.postgresql_psycopg2','django.db.backends.mysql','django.db.backends.oracle'。

更多参见官网。

2.NAME 你的数据库的名称。若你用的是SQLite,你的数据库就是你电脑上的一个文件,这种情况下,数据库的名称就是文件的绝对路径,包括文件名。默认值,os.path.join(BASE_DIR, 'db.sqlite3'),

会将文件存放在你的项目目录下。

如果你不用SQLite,设置中的 USERPASSWORD,HOST 必须填写。更多信息,参见官方的详细文档。

 

当你编辑mysite/settings.py 时,将TIME_ZONE  设置为当地的时区。

你可能感兴趣的:(Django)