Django项目开发举例之创建开发环境(1)

1.查看已安装的Django版本

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

2.创建一个项目

$ django-admin startproject testproject


注意:项目名称不能和Python或Django的 内部组件名称同名,例如:django(与Django自身冲突)或 test(与Python内建的包冲突)这样的名称。

创建完成后会在当前目录下生成一个名为testproject的文件夹,文件夹中含有以下文件:

$ cd testproject/

$ ls -la

total 8

drwxr-xr-x   4 chenqianqian  staff   136  4 17 17:24 .

drwxr-xr-x+ 41 chenqianqian  staff  1394  4 17 17:24 ..

-rwxr-xr-x   1 chenqianqian  staff   809  4 17 17:24 manage.py

drwxr-xr-x   6 chenqianqian  staff   204  4 17 17:24 testproject


$ cd testproject/

$ ls -la

total 24

drwxr-xr-x  6 chenqianqian  staff   204  4 17 17:24 .

drwxr-xr-x  4 chenqianqian  staff   136  4 17 17:24 ..

-rw-r--r--  1 chenqianqian  staff     0  4 17 17:24 __init__.py

-rw-r--r--  1 chenqianqian  staff  3111  4 17 17:24 settings.py

-rw-r--r--  1 chenqianqian  staff   768  4 17 17:24 urls.py

-rw-r--r--  1 chenqianqian  staff   400  4 17 17:24 wsgi.py


  • 外层的testproject/根目录仅仅是项目的一个容器。它的命名对Django没有什么影响
  • manage.py:一个命令行工具,可以使你用多种方式对Django项目进行交互。 
  • 内层的testproject/目录是你的项目的真正的Python包。它是你导入任何东西时将需要使用的Python包的名字(例如 testproject.urls)。
  • testproject/__init__.py:一个空文件,它告诉Python这个目录应该被看做一个Python包。 
  • testproject/settings.py:该Django 项目的设置/配置。Django 设置 将告诉你这些设置如何工作。
  • testproject/urls.py:该Django项目的URL声明;你的Django站点的“目录”。
  • testproject/wsgi.py:用于你的项目的与WSGI兼容的Web服务器入口。

3.数据库的设置

mysite/settings.py文件中记录了数据库的配置,如果你只是练习我们可以采用默认的数据库配置SQLite,如果想使用一个更健壮的数据库比如PostgreSQL来避免在未来遇到令人头疼的数据库切换问题。我们可以通过修改配置文件中的以下参数:
1)置合适的database binding
2)在 DATABASES 'default'条目中修改以下的配置以匹配你的数据库连接的设置:
#-----------------------------------------------------------------------------------------------------------------------------------

# Database

# https://docs.djangoproject.com/en/1.10/ref/settings/#databases


DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.sqlite3',

        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),

    }

}

#-----------------------------------------------------------------------------------------------------------------------------------

当你的项目使用SQLite之外的其他数据库引擎时,就必须添加USER、 PASSWORDHOST等额外的设置。这里我们使用默认的数据库配置SQLite我们不需要事先创建任何东西 —— 数据库文件将会在需要的时候自动创建。

4.settings.py文件中其他参数配置

# Application definition

INSTALLED_APPS = [

    'django.contrib.admin',                    --管理站点

    'django.contrib.auth',                       --认证系统

    'django.contrib.contenttypes',          --用于内容类型的框架

    'django.contrib.sessions',                --会话框架

    'django.contrib.messages',              --消息框架

    'django.contrib.staticfiles',               --管理静态文件的框架

]

它保存这个Django实例中激活的所有的Django应用的名字。 应用可以在多个项目中使用,而且你可以将这些应用打包和分发给其他人在他们的项目中使用。以上都是默认自带的应用。


#语言设置

LANGUAGE_CODE = 'en-us'

#时区设置

TIME_ZONE = 'UTC' 

4.创建数据库表

$ python managed.py migrate

migrate查看INSTALLED_APPS设置并根据testproject/settings.py文件中的数据库设置创建任何必要的数据库表,数据库的迁移还会跟踪应用的变化。你会看到对每次迁移有一条信息。如果你有兴趣,可以运行你的数据库的命令行客户端并输入dt (PostgreSQL), SHOW TABLES; (MySQL)或.schema (SQLite)来显示Django创建的表。

以上包含的默认应用用于常见的场景,但并不是每个人都需要它们。 如果你不需要它们中的任何一个或所有应用,可以在运行migrate之前从INSTALLED_APPS中自由地注释或删除相应的行。migrate命令将只为INSTALLED_APPS中的应用运行数据库的迁移。


4.试运行Django项目

切换到项目文件夹下运行以下命令:

$ python manage.py runserver

输出内容:

Performing system checks...


System check identified no issues (0 silenced).

April 17, 2017 - 09:35:05

Django version 1.10.5, using settings 'testproject.settings'

Starting development server at http://127.0.0.1:8000/

Quit the server with CONTROL-C.


这表明你已经启动了Django开发服务器,一个用纯Python写的轻量级Web服务器。 

请用你的浏览器访问 http://127.0.0.1:8000/

默认情况下,runserver命令在内部IP的8000端口启动开发服务器。

如果你需改变服务器的端口,把要使用的端口作为一个命令行参数传递给它。 例如,这个命令在8080端口启动服务器:

$python manage.py runserver 8080

如果你需改变服务器的IP地址,把IP地址和端口号放到一起。 因此若要监听所有的外网IP,请使用(如果你想在另外一台电脑上展示你的工作,会非常有用):

$ python manage.py runserver 0.0.0.0:8000

这样我们就搭建好了一个名为testproject的项目环境。项目是一个特定网站中相关配置和应用的集合。一个项目可以包含多个应用。一个应用可以运用到多个项目中去。



















你可能感兴趣的:(Django)