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

python web开发框架Django_第1张图片
 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  效果如下:

python web开发框架Django_第2张图片
 因为urls.py是index  这边显示出来了简单的描述语

4.3 在项目最外层新建templates模板文件夹,在templates下新建index.html文件,简单写几行代码如下:

python web开发框架Django_第3张图片
 修改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,

 运行结果如下:

python web开发框架Django_第4张图片
 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表单文件

python web开发框架Django_第5张图片
 效果图如下:

python web开发框架Django_第6张图片
 效果出来了,继续修改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 %}
用户名:

输入账号密码,效果:

python web开发框架Django_第7张图片
 修改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接收展示这些数据

 

用户展示

    用户名密码
{% for item in data %}
        
{% endfor %}
        
{{ item.username }} {{ item.pwd}}

你可能感兴趣的:(python框架Django)