前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个超级小的 Django 项目.

一个超级小的 Django 项目.

作者头像
用户1416054
发布2018-12-12 16:37:55
9770
发布2018-12-12 16:37:55
举报
文章被收录于专栏:JackeyGao的博客JackeyGao的博客

一个超级小的 Django 项目.

Posted November 12, 2018

Django 可以支持类似于Flask 一样的单文件项目.

当用最简单的代码实现 Django 项目为最基本的要素的时候, 项目可以和微框架一样小.

但我建议, 最好不要这样做, 因为在选择使用 Django 的时候, 我比较看重的 Django 封装的一系列模块, 我更建议用 Django 官方提供的架构去开始我的工程。

Introduction

首先我们知道, 在我们安装 Django 之后, Django 和其他 Python 包一样, 在site-packages里面, 这意味着 Django 和其他的 Python 包一样(Requests, Pillow, NumPy).

验证 Django 是否安装最简单的方法是到交互式界面导入它

Python

代码语言:javascript
复制
>>> import django
>>> print(django.get_version())
1.11.4

但是我们使用 Django 和使用其他包不一样, 在官方推荐的例子下, 我们开始一个项目首先执行的是startproject

我们执行后, 会初始化创建默认的项目目录结构:

  • manage.py
  • settings.py
  • urls.py
  • wsgi.py

这就是常用的预配置

加入我们要做一个 web 项目, 你可能需要数据库, 处理用户的身份验证, 和会话等功能。 startproject会让我们对这些的处理和配置更加轻松. 而且 Django 默认就提供这些功能, 这让我们能够直接引用.

但这样不是开始项目的唯一方式, 这也是本章的目的。

最小的 Django 程序

app.py

Python

代码语言:javascript
复制
import sys

from django.conf import settings
from django.conf.urls import url
from django.core.management import execute_from_command_line
from django.http import HttpResponse

settings.configure(
    DEBUG=True,
    SECRET_KEY='A-random-secret-key!',
    ROOT_URLCONF=sys.modules[__name__],
)


def index(request):
    return HttpResponse('<h1>A minimal Django response!</h1>')

urlpatterns = [
    url(r'^$', index),
]

if __name__ == '__main__':
    execute_from_command_line(sys.argv)

SECRET_KEY是我们必须要提供的一个参数, DEBUG默认是 False, 没有开启 DEBUG 的情况需要定义ALLOWED_HOSTS配置, 所以我们直接覆盖 DEBUG 为 True. ROOT_URLCONF 是需要包含 URL 列表的特殊模块路径. 其实就是我们项目的urls.py文件. 在这里我们写到一个文件里面了, 所以我们直接定义sys.modules[__name__]表示当前模块, 并在当前文件下面定义urlpatterns列表, 定义的方式和urls.py一样和视图view对应起来.

然后通过execute_from_command_line快捷方式启动, 这个保留了 manage.py 命令的功能.

使用

由于没有其他的APP 在 INSTALLED_APPS里面, 默认情况下只有 django 项目. 所以只有一些最基本的命令功能.

Bash

代码语言:javascript
复制
$ python app.py

Type 'app.py help <subcommand>' for help on a specific subcommand.

Available subcommands:

[django]
    check
    compilemessages
    createcachetable
    dbshell
    diffsettings
    dumpdata
    flush
    inspectdb
    loaddata
    makemessages
    makemigrations
    migrate
    runserver
    sendtestemail
    shell
    showmigrations
    sqlflush
    sqlmigrate
    sqlsequencereset
    squashmigrations
    startapp
    startproject
    test
    testserver

启动

我们使用 runserver 把程序启动

Bash

代码语言:javascript
复制
$ python app.py runserver
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一个超级小的 Django 项目.
    • Introduction
      • 最小的 Django 程序
        • 使用
          • 启动
          相关产品与服务
          多因子身份认证
          多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档