安装:
pip install Django
创建项目:
django-admin startproject website
运行项目:
python manage.py runserver 127.0.0.1:8080
python manage.py startapp appname
python manage.py syncdb
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
程序目录:
templates: 主要放置 HTML文件
wsgi.py:实现socket
app:
migrations 数据修改表结构
admin 后台管理
apps 配置当前app
models ORM,写指定的类,通过命令创建数据库
tests 单元测试
views 业务代码
步骤:
1、创建工程 django-amdin startproject website
2、创建APP 在工程文件夹下, python manage.py startapp cmdb [window下Pycharm只能命令执行]
此文件中的views 写业务逻辑
3、setting 中添加APP
INSTALLED_APPS = [
'cmdb',
]
4、urls.py中建立映射关系
from app import views
(index/,views.index)
5、创建静态文件夹 static
在根目录下创建一个static文件夹
放置 .js 和.css
6、配置静态文件夹路径
STATICFILES_DIRS=(os.path.join(BASE_DIR,'static'),)
7、创建Templates模板文件夹. index.html
引入CSS文件和JS文件
<link rel="stylesheet" href='/static/commets.css' > <script src="/static/jquery-3.3.1.js"></script>
8、view中实现业务逻辑
from django.shortcuts import HttpResponse def index(request): return HttpRequest('ok') 返回字符串 #request.method GET/POST #http://127.0.0.1:8000/index?nid=1$name=alex request.Get.get(' ',None)#字典形式,获取请求发来的数据 request.POST.get(' ',None) return render(request,'HTML模板的路径') return redirect('只能填URL') 跳转到另外的页面 ps:views.py data=open('templates/index.html','r','encoding=utf-8').read() return HttpReponse(data) Django对打开文件做了封装,上面的代码,封装成下面的 form django.shortcuts import render return render(request,'index.html')
9、setting 搜索middlerware 注销csrf
当表单提交的页面也是当前页面时,才需要注销
10 模板渲染
def fun(request): return render(request,'index.html',{'current_user':'alex'}) index.html <html> <body> <div>{{current_user}}</div> ===><div>alex</div> <body> </html> For循环 def fun(request): return render(request,'index.html',{'current_user':'alex','user_list':'['alex','mike'], 'user_dict':{'k1':'v1','k2':'v2'} ) index.html <body> <ul> {% for row in user_list %} <li> {{ row }} {% endfor %} </ul> <table> {% for row in user_list %} <tr> <td>{{ row.username}} </td> <td>{{ row.password}} </td> </tr> {% endfor %} <a> {{ user_list.1}} </a> 这里的取值要注意 <a> {{ user_list.k1}} </a>