虚环境准备
参考: Ubuntu中安装Python3和virtualenv
初始化Django项目
- 进入虚环境
mkdir myproject
cd myproject
virtualenv venv -p python3
source venv/bin/activate
- 安装Django
pip install django
- 初始化项目
django-admin startproject myproject
cd myproject
django-admin startapp boards
Hello World!
- 编辑配置
在myproject/settings.py中找到INSTALLED_APPS
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'boards', # 译者注:建议和作者一样空一行来区别内置app和自定义的app
]
- 编辑视图
打开boards/views.py
from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse
def home(req):
return HttpResponse('Hello World!')
- 编辑url
打开myproject/url.py
from django.contrib import admin
from django.urls import path
from boards import views
urlpatterns = [
path('', views.home, name='home'),
path('admin/', admin.site.urls),
]
启动服务器
python manage.py runserver本地验证
curl -i -k localhost:8000/;echo
输出:
HTTP/1.1 200 OK
Date: Mon, 02 Apr 2018 15:38:45 GMT
Server: WSGIServer/0.2 CPython/3.6.5
Content-Type: text/html; charset=utf-8
X-Frame-Options: SAMEORIGIN
Content-Length: 12
Hello World!
大功告成~
目录结构说明
myproject/
|-- myproject/
| |-- boards/ <-- 我们新的Django应用(app)!
| | |-- migrations/
| | | +-- __init__.py
| | |-- __init__.py
| | |-- admin.py
| | |-- apps.py
| | |-- models.py
| | |-- tests.py
| | +-- views.py
| |-- myproject/
| | |-- __init__.py
| | |-- settings.py
| | |-- urls.py
| | |-- wsgi.py
| +-- manage.py
+-- venv/
-
myproject:
- manage.py:使用django-admin命令行工具的快捷方式。它用于运行与我们项目相关的管理命令。我们将使用它来运行开发服务器,运行测试,创建迁移等等。
- init.py:这个空文件告诉python这个文件夹是一个python包。
- settings.py:这个文件包含了所有的项目配置。将来我们会一直提到这个文件!
- urls.py:这个文件负责映射我们项目中的路由和路径。例如,如果你想在访问URL / about/ 时显示某些内容,则必须先在这里做映射关系。
- wsgi.py:该文件是用于部署的简单网关接口。你可以暂且先不用关心她的内容,就先让他在那里就好了。
-
boards:
- migrations/:在这个文件夹里,Django会存储一些文件以跟踪你在models.py文件中创建的变更,用来保持数据库和models.py的同步。
- admin.py:这个文件为一个django内置的应用程序Django Admin的配置文件。
- apps.py:这是应用程序本身的配置文件。
- models.py:这里是我们定义Web应用程序数据实例的地方。models会由Django自动转换为数据库表。
- tests.py:这个文件用来写当前应用程序的单元测试。
- views.py:这是我们处理Web应用程序请求(request)/响应(resopnse)周期的文件。
停止服务器 退出虚环境
- 停止服务器
control + c - 退出虚环境
deactivate