Django 开发初探 (PyCharm+Django)

144 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

本文将介绍在PyCharm下如何使用 Django 来创建项目。 测试版本说明:

  • Python 2.7.10
  • Django 1.8.18

关于Django工程目录结构优化可参考这篇文章: www.loonapp.com/blog/11/

Django 管理工具 安装 Django 之后,您现在应该已经有了可用的管理工具 django-admin.py。我们可以使用 django-admin.py 来创建一个项目: 我们可以来看下django-admin.py的命令介绍:

# django-admin.py
Usage: django-admin.py subcommand [options] [args]

Options:
  -v VERBOSITY, --verbosity=VERBOSITY
                        Verbosity level; 0=minimal output, 1=normal output,
                        2=verbose output, 3=very verbose output
  --settings=SETTINGS   The Python path to a settings module, e.g.
                        "myproject.settings.main". If this isn't provided, the
                        DJANGO_SETTINGS_MODULE environment variable will be
                        used.
  --pythonpath=PYTHONPATH
                        A directory to add to the Python path, e.g.
                        "/home/djangoprojects/myproject".
  --traceback           Raise on exception
  --version             show program's version number and exit
  -h, --help            show this help message and exit

Type 'django-admin.py help <subcommand>' for help on a specific subcommand.

Available subcommands:

[django]
    check
    cleanup
    compilemessages
    createcachetable

以下步骤将采用两种方式说明:命令行模式和使用PyCharm自定义菜单操作 创建项目

1.使用 django-admin.py 来创建 HelloWorld 项目:

django-admin.py startproject HelloWorld

2.使用PyCharm File ->New project 选择django,根据提示创建即可 这里写图片描述

创建完成后我们可以查看下项目的目录结构:

$ cd HelloWorld/
$ tree
.
|-- HelloWorld
|   |-- __init__.py
|   |-- settings.py
|   |-- urls.py
|   `-- wsgi.py
`-- manage.py

目录说明: HelloWorld: 项目的容器。 manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。 HelloWorld/init.py: 一个空文件,告诉 Python 该目录是一个 Python 包。 HelloWorld/settings.py: 该 Django 项目的设置/配置。 HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。 HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

运行项目

1.进入 HelloWorld 目录输入以下命令,启动服务器:

python manage.py runserver 0.0.0.0:8000

0.0.0.0 让其它电脑可连接到开发服务器,8000 为端口号。如果不说明,那么端口号默认为 8000。 2.PyCharm中运行,选中项目,点击红框中的三角按钮即可 这里写图片描述 在浏览器输入你服务器的ip及端口号,如果正常启动,输出结果如下:

这里写图片描述

创建App

1.进入apps目录,执行命令

django-admin.py startapp blog

2.PyCharm中添加自定义tools Preferences->Tools->External Tools添加 创建App的自定义菜单,按下图进行配置,选中要创建app的目录,右键Django->Create App,将会弹出对话框,输入要创建app的名称 这里写图片描述

在settings.py中配置新建的app,


INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'djangoDemo.apps.blog',
]

为APP创建数据表

找到blog目录,修改models.py

from django.db import models

# Create your models here.


class Test(models.Model):
    name = models.CharField(max_length=20)
    sex = models.BooleanField()
    age = models.CharField(max_length=2)

创建数据表, 1.执行如下命令

$ python manage.py makemigrations blog  # 让 Django 知道我们在我们的模型有一些变更
$ python manage.py migrate auth   # 必须单独执行一次auth模块,否则会报错
$ python manage.py migrate blog   # 创建表结构

如果不执行 migrate auth可能会报如下错误:

Error creating new content types. Please make sure contenttypes is migrated

2.PyCharm中添加自定义tools Preferences->Tools->External Tools添加 创建App的自定义菜单,按下图进行配置,选中要生成数据表的app目录,右键Django->makemigrations, 这里写图片描述

Preferences->Tools->External Tools添加 创建App的自定义菜单,按下图进行配置,右键Django->migrate auth, 这里写图片描述

Preferences->Tools->External Tools添加 创建App的自定义菜单,按下图进行配置,选中要生成数据表的app目录,右键Django->migrate, 这里写图片描述

看到几行 "Creating table…" 的字样,你的数据表就创建好了。

Creating tables ...
……
Creating table blog_test  #我们自定义的表

点击PyCharm右侧的菜单即可浏览数据库 这里写图片描述

注:以上添加的External Tools只有第一次使用时添加,以后直接使用即可,相对方便,全网首创,O(∩_∩)O~~