django (二) 第一个django app 初始化

第一个django app 我们来做一个投票网站。

他由两部分组成:

  • 一个公共界面让用户去投票
  • 一个管理界面,对投票增删改。

首先,你得创建一个新的项目,只需一行代码,django将自动为你完成这项任务。

cd切换到你想存储你项目的路径下如C:\,输入:

django-admin.py startproject mysite

这时,你的C:\下将多了一个文件夹mysite,打开后你会看到:

mysite/
  manage.py
  mysite/
    __init__.py
    settings.py
    urls.py
    wsgi.py

最外面的mysite根目录只是你整个项目的容器,你可以随意修改它的名字,并不影响程序。

manage.py : 一种命令行工具,可让你以多种方式与该 Django 项目进行交互。

下面的mysite目录就是你实际创建的项目包,可以在别的程序中导入它。eg:mysite.urls

__init__.py : 让 Python 把该目录当成一个开发包 (即一组模块)所需的文件。 这是一个空文件,一般你不需要修改它

settings.py : 该 Django 项目的设置或配置。 查看并理解这个文件中可用的设置类型及其默认值

urls.py : django项目的URL设置。 可视其为你的django网站的目录

wsgi.py : WSGI-compatible网络服务器为你的项目提供的服务的入口点

下面,让我们来启动它。首先切换到最外面的mysite目录下,输入:

manage.py runserver.

你将看到下面的文字:

Validating models...


0 errors found
January 15, 2015 - 15:50:53
Django version 1.5.12, using settings ‘mysite.settings’
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-BREAK.

这代表你已经启动成功了,登录到:http://127.0.0.1:8000/下去看一看吧。

 

如果出现这个画面,那就表示OK。

默认情况下,runserver启动的端口是8000,如果你想修改的话,可以输入:

manage.py runserver 8080

如果想切换ip的话,请输入:

manage.py runserver 0.0.0.0:8000

注意,你每次修改代码,django服务器都会自动重载,不用你每次重启。然而,当你添加新的文件,或者编译文件没法自动重启时,你需要进行手动重启。

下面,进行数据库的配置,打开settings.py文件,你会看到这样一段代码:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3', # 在backends.后面添加你选择的数据库,这里我们选自带的sqlite3  
'NAME': r'C:\mysite\mysite.db', # 存储数据库文件的路径 # The following settings are not used with sqlite3: 'USER': '', 'PASSWORD': '', 'HOST': '', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP. 'PORT': '', # Set to empty string for default. } }

由于我们选择的是sqlite3所以我们不用设置USER、PASSWORD等参数,后面它将会自动生成。

你还可以修改时区,在settings.py里是这样一段代码:

# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# In a Windows environment this must be set to your system time zone.
TIME_ZONE = 'America/Chicago'

把'America/Chicago'换成'China/Beijing'.
在文件的最下面有这样一段:

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # Uncomment the next line to enable the admin:
    # 'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
)

这是django自带的一些应用,

• django.contrib.auth – 一个验证系统.
• django.contrib.contenttypes – 一个目录类型的框架
• django.contrib.sessions – 一个会话框架
• django.contrib.sites – 管理Django多站点的框架
• django.contrib.messages – 一个消息框架
• django.contrib.staticfiles – 管理静态文件的框架

每一个应用app都会在数据库里生成一张以上的表,在我们使用这些app前,我们必须手动生成这些表,输入下面代码:

manage.py syncdb

会出现下面的界面:

Creating tables ...
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_groups
Creating table auth_user_user_permissions
Creating table auth_user
Creating table django_content_type
Creating table django_session
Creating table django_site

You just installed Django's auth system, which means you don't have any superuse
rs defined.
Would you like to create one now? (yes/no): yes
Username (leave blank to use 'lol'): huxiaodan
Email address: 759981161@qq.com
Password:

 由于是第一次创建数据库,这里需要手动输入一些用户初始信息,账号密码等。

posted @ 2015-04-18 14:25  坐观云起时  阅读(833)  评论(0编辑  收藏  举报