阅读之前:本文基于Django 1.9 ,python 3 ,如使用其他版本请谨慎参考。
转载自http://www.zhiyuc.me/2016/8/29/2/
创建一个项目
在你想要创建项目的目录下,打开命令提示符窗口。
django-admin startproject mysite
其中 mysite 为你想要创建项目的名称。
运行开发服务器
开发服务器能帮你快速开发产品,但不能用于实际生产。即不是专业的服务器,例如Apache。
python manage.py runserver
可以用浏览器访问 http://127.0.0.1:8000 查看项目。
python manage.py runserver 8080
可以更改端口为8080
python manage.py runserver 0.0.0.0
可以使用局域网内的其他设备访问项目,http://本机IP:8000
创建一个应用、配置url
python manage.py startapp myapp
其中myapp为你想要创建的应用名。
在myapp目录下创建 urls.py ,写入内容如下:
myapp/urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index') #views.index为你在views.py中编写的index视图
]
以后每编写一个视图类或函数,都要在这里注册才能访问。
还要在mysite/urls.py中注册应用的url规则:
mysite/urls.py
from django.conf.urls import url, include #注意导入include方法
from dhango.contrib import admin
urlpatterns = [
url(r'^myapp/', include('myapp.urls')
url(r'^admin/', admin.site.urls)
]
同样,每一个应用都要到这里注册。
激活模型
之前请确保你配置好了数据库。
python manage.py migrate
这样会为默认应用创建数据表。
在mysite/settings.py中注册你的应用。
mysite/settings.py
INSTALLED_APPS=[
'myapp.apps.MyappConfig',
'django.contrib.admin',
'django.contrib.auth',
......
注册完一个新应用后,使用 makemigrate 告诉django你的模型有了变更。
python manage.py makemigrations myapp
会得到这样的结果:
Migrations for 'polls':
0001_initial.py:
- Create model Choice
- Create model Question
- Add field question to choice
准备为myapp创建数据表。
python manage.py sqlmigrate polls 0001
应用所有变更,需要重新migrate。
python manage.py migrate
以后每次变更模型(models.py),都需要重新运行makemigrations,sqlmigrate,migrate以更新数据表(注意0001_initial.py文件名会变更随次数改变,实际为myapp/migrations/下的一个文件)。
启用管理网站
确保在mysite/settings.py中的INSTALLED_APPS中注册了"django.contrib.admin",并为之创建过数据库表。
python manage.py createsuperuser
创建管理员账号。
访问http://127.0.0.1:8000/admin ,使用创建的账号登陆管理网站。
在myapp/admin.py中注册模型,就可以在管理网站管理模型。
myapp/admin.py
from django.contrib import admin
from .models import Mymodel
admin.site.register(Mymodel)