python web开发框架Django
众所众知用户python做web开发最常用的就是Django框架,Django直接使用WSGI通信协议,并实现了大部分Web应用相关的功能,其它基于Python的Web框架,如Tornado、Flask、Webpy都是在这个范围内进行增删裁剪的。例如Tornado用的是自己的异步非阻塞通信协议,Flask则只提供了最精简和基本的框架;其实都是基于MVC(MTV)架构
参考:http://www.liujiangblog.com/blog/36/
1.首先安装 Python3.6、pip3及Pycharm软件:我电脑的python是3.6.6;Pycharm编辑器;pip3是帮助安装django框架的,类似:pip3 install django命令;
大家可以自行百度安装
2.在Pycharm里创建项目web项目mydjango1
3.在项目mydjango1里可以创建多个APP类似模块等,我们在Pycharm下方的Terminal终端中输入命令如下命令来创建登录:python manage.py startapp login
4.1 目录结构如上图所示,然后修改mydjango1/mydjango1/urls.py路由:导入views(from login import views) 和设置路由path('index/',views.index),
from login import views urlpatterns = [ path('admin/', admin.site.urls), path('index/',views.index),
//修改模板文件mydjango1/login/views.py
from django.shortcuts import HttpResponse # Create your views here. def index(request): return HttpResponse('Hello World!')
4.2 win + R 命令行模式,执行命令python manage.py runserver 127.0.0.1:8000 效果如下:
因为urls.py是index 这边显示出来了简单的描述语
4.3 在项目最外层新建templates模板文件夹,在templates下新建index.html文件,简单写几行代码如下:
修改mydjango1\urls.py路由文件如下
from login import views urlpatterns = [ path('admin/', admin.site.urls), path('index/',views.index), #新增路由
修改 mydjango1\login\views.py
def index(request): # return HttpResponse('Hello World!') #注释这行 return render(request ,'index.html') # 新增这行
修改 mydjango1\settings.py
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR,'templates')], #修改这行 'APP_DIRS': True,
运行结果如下:
4.4 新建static\js\jquery-3.0.0.min.js 然后修改mydjango1\settings.py 最下面新增下面代码
STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR,'static'), ]
指定资源文件路径,修改html表单文件
效果图如下:
效果出来了,继续修改views.py
def index(request): # return HttpResponse('Hello World!') if request.method == 'POST': #新增代码 username = request.POST.get('username') #新增代码 password = request.POST.get('password') #新增代码 print(username,password) #新增代码 return render(request ,'index.html')
index.html文件中加入一行{% csrf_token %}
{% csrf_token %} 用户名:<input type="text" name="username" /><br />
输入账号密码,效果:
修改views.py 定义一个数组保存每次的用户米密码,json格式
user_list = [] #定义一个空数组 这里跟php很像 def index(request): # return HttpResponse('Hello World!') if request.method == 'POST': username = request.POST.get('username') password = request.POST.get('password') print(username,password) temp = {'username':username,'pwd':password} #保存数据 user_list.append(temp) #数据追加到数组里 return render(request ,'index.html',{'data':user_list}) #返回html
index.html 需要html接收展示这些数据
<h1>用户展示</h1>
<table border="1"> <thead> <tr>用户名</tr> <tr>密码</tr> </thead> <tbody> {% for item in data %} <tr> <td>{{ item.username }}</td> <td>{{ item.pwd}}</td> </tr> {% endfor %} </tbody> </table> <script src="/static/js/jquery-3.0.0.min.js">
效果如下:
-------------------------截止到上面,基本的MVC架构布局基本呈现出来了----------------------------
是不是很好玩?感觉这个编辑器还蛮智能的,<script>标签没闭合都提示了,希望后面多学习多联系python,争取往python转吧,谢谢大家