一、安装
Python 安装(已安装的可跳过)
Django 安装
pip install Django==2.0
检查是否安装成功
cmd中输入以下命令进行检查:
python -m django --version
或
python
import django
django.get_version()
如果输出了Django的版本号说明安装正确。
二、Django 创建第一个项目
Django 管理工具
安装 Django 之后,您现在应该已经有了可用的管理工具 django-admin。我们可以使用 django-admin 来创建一个项目:
Django 创建项目须知
打开命令行工具
使用django-admin 创建一个项目
创建完成后,将会生成,并初始化项目
切换工作目录到项目目录
启动本地开发服务器
服务启动成功,请勿关闭窗口,或中断此服务
至此,django的第一个项目创建成功
视图和 URL 配置
在先前创建的 www目录下的 www目录新建一个 view.py 文件,并输入代码:
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello world ! ")
接着,绑定 URL 与视图函数。
打开 urls.py 文件,删除原来代码,将以下代码复制粘贴到 urls.py 文件中:
from django.conf.urls import url
from . import view
urlpatterns = [
url(r'^$', view.hello),
]
完成后,启动 Django 开发服务器,并在浏览器访问打开浏览器并访问:
我们也可以修改以下规则:
urls.py 文件代码:
from django.urls import path
from . import view
urlpatterns = [
path('hello/', view.hello),
]
通过浏览器打开 http://127.0.0.1:8000/hello,输出结果如下:
三、windows下使用eclipse新建第一个django项目:
1、安装python:同上
2、安装django:同上
创建Django website:
step1:File->New->Other...->Pydev Django Project;
step2:输入项目名称,在接下来的reference page对话框中,直接next即可;
step3:在接下来的数据库设置中,选择数据库类型,输入数据库名,端口,用户名和密码;
(前提是你的Mysql_Python插件安装成功,下面你会发现这是一个痛苦的过程)
step4:运行;
方式一:类似Java,在点击上面的Run按钮,Run as Django;
方式二:Eclipse中选中刚创建的工程,如本例的DjangoTest,右键,
选择”Run As” –> “pydev:Django”,在Console窗口会出现下图所示文字;
注,运行后就不需要再像上面命令行一样了:
python manage.py runserver 端口号
四、连接数据库(编写Models时用到):
首先安装mysqlclient:
pip install mysqlclient
cd到当前项目目录后执行如下命令,不然会报错,
python manage.py migrate
settings.py文件中配置数据库:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'samve', #选择数据库的名称,请确认你的mysql中有这个库
'USER': 'root', #登录mysql的用户名
'PASSWORD': '123456', #登录mysql的密码
'HOST': 'localhost', #在通过命令行模式给dj用户授权的时候,指定的主机是localhost,改成127.0.0.1就能正常迁移数据库了。
'PORT': '3306' #登录mysql的端口
}
}
最后执行如下命令:
python manage.py runserver 8080
settings.py文件中配置模板文件夹:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR+"/templates",],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]