一、安装
命令:
pip3 install django==1.11.4
支持python解释器的版本为 2.7、3.4、3.5、3.6
检查是否安装成功:
>>> import django
>>> django.get_version()
1.11.4
注意:
如果电脑是在windwos安装的django,所有代码书写都相同,如果django不能够运行,则查看计算机的名称是否为中文。
二、创建django项目
命令:
django-admin startproject helloworld(项目名称)
创建成功后:目录层级为
helloworld/
helloworld/
__init__.py
settings.py 配置文件
urls.py 路由地址文件
wsgi.py 项目的入口 项目部署的时候使用
manage.py 项目启动文件
项目启动:
python3 manage.py runserver [Ip:port]
127.0.0.1:8000
python3 manage.py runserver 0.0.0.0:8000 #任何地址都可以进行访问
三、配置django数据库
默认使用的是sqlite
配置sqlite数据库代码
settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
配置mysql数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME':'djangopython1807',#数据库名称
'USER':'root', #用户名
'PASSWORD':'123456', #密码
'HOST':'127.0.0.1', #主机
'PORT':3306, #端口
}
}
在helloworld的init.py文件添加如下代码
import pymysql
pymysql.install_as_MySQLdb()
四、想要添加你的模型,视图,url,模板,需要创建App
命令:
python3 manage.py startapp App(应用名称)
或者
django-admin startapp App
五、添加路由地址,视图函数
App/views.py 添加视图函数
from django.shortcuts import render,HttpResponse
# Create your views here.
def index(request):
return HttpResponse('hello django')
render 渲染模板
HttpResponse 直接构造响应
helloworld/urls.py文件中
from django.conf.urls import url
from django.contrib import admin
from App import views #导入视图函数的模块
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', views.index), #访问首页视图
]
请求地址为为:http://127.0.0.1:8000s
路由地址url的注意:
url方法中的^的作用
就是必须以当前的路由地址作为开头 如果^ 不存在 则是包含关系
实例:
urlpatterns = [
url(r'^admin/', admin.site.urls),
# url(r'^$', views.index),
url(r'^test/$',views.test), #/test/
url(r'test/',views.test), #/test/
]
上面俩个test的路由地址区别:
- 带^是访问时候 地址必须为 127.0.0.1:8000/test/
- 不带^ 访问地址为 127.0.0.1:8000/abctest/ #只要路由地址包含test 就可以访问成功
六、将在自己的App下 创建自己的路由文件
App/urls.py代码
from django.conf.urls import url
from App import views
urlpatterns = [
url(r'^test/$', views.test), # /test/
]
helloworld/urls.py代码
from django.conf.urls import url,include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^',include('App.urls')),
]
七、配置模板目录
路径:
App/templates/ 模板引擎选择 django
test.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>test渲染的模板</h1>
</body>
</html>
views.test视图函数
def test(req):
return render(req,'test.html')
更改settings.py的DIRS的值
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
# 'DIRS': [],
'DIRS': [os.path.join(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',
],
},
},
]
注意:
在install_apps 下添加app的名字
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'App', #项目名称
]
渲染模板
注意:
变量和标签 和 flaske模板中的一样
def test(req):
return render(req,'test.html',{'con':'渲染的内容'}) #参数1 request 模板名称
test.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>test渲染的模板</h1>
<h2>{{ con }}</h2>
</body>
</html>
八、指定错误页面
(1) 在settings.py文件中 关闭调试模式
DEBUG = False
注意:
如果debug不改为False 则不会返回错误的模板 而是显示错误信息
(2) ALLOWED_HOSTS 设置允许那些主机访问
ALLOWED_HOSTS = ['*']
(3) 在templates模板目录中 添加404.html
当出现404时 自动返回404.html
(4) request_path 展示 NOT_FOUND的路由地址
实例:
settings.py
DEBUG = True
# DEBUG = False
ALLOWED_HOSTS = ['*']
404.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>404页面</h1>
<h2>{{ request_path }}</h2>
</body>
</html>
评论 (0)