环境: pycharm + python3 + django2.02
创建一个hello.py的文件,包含运行Django项目需要的所有代码,类似flask社区那个..
Django是一个模型--模版--视图的MTV框架。
例子如下:
# -*- coding: utf-8 -*-
import os
import sys
from django.conf import settings
from django.http import HttpResponse
from django.conf.urls import url
from django.core.wsgi import get_wsgi_application
# 设置调试默认值为True
DEBUG = os.environ.get('DEBUG', 'on') == 'on'
# 设置SECRET_KEY的默认值 如果为空随机一个32位bit数值
SECRET_KEY = os.environ.get('SECRET_KEY', os.urandom(32))
# 设置允许请求的host的默认是本地主机
ALLOWED_HOSTS = os.environ.get('ALLOWED_HOSTS', 'localhost').split(',')
settings.configure(
# 开启调试模式
DEBUG=DEBUG,
# 设置请求防伪密匙
SECRET_KEY=SECRET_KEY,
# 设置url模式
ROOT_URLCONF=__name__,
# 设置允许请求的host
ALLOWED_HOSTS=ALLOWED_HOSTS,
# 设置中间件,暂不知道什么意思
MIDDLEWARE_CLASS=(
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware'
)
)
# 创建响应函数
def index(request):
return HttpResponse('Hello World')
# 创建url模式
urlpatterns = (
url(r'^$', index),
)
application = get_wsgi_application()
if __name__ == '__main__':
# 引入命令模块
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
小错误:
The included URLconf '__main__' does not appear to have any patterns in it. If you see valid patterns in the file then th
e issue is probably caused by a circular import.
问题出在创建url模式这里,必须要是一个元祖, 也就是说,需要在最后加上一个 , 或者有两个以上元素。
运行python hello.py runserver 即可在127.0.0.1:8000显示 Hello World
因为runserver的安全性不适合实际应用,所以还需要学习一个web服务器框架,比如Tornado?