WEBAPP开发教程使用django框架搭建web应用
凌雪 2018-10-11 来源 :网络 阅读 1280 评论 0

摘要:本文将带你了解WEBAPP开发教程使用django框架搭建web应用,希望本文对大家学WEBAPP有所帮助。

本文将带你了解WEBAPP开发教程使用django框架搭建web应用,希望本文对大家学WEBAPP有所帮助。


使用python进行web开发需要使用一些web框架,而这些web框架也可以帮助我们简单快速的搭建起一个web网站。常见的web框架有django,webpy等。这里我们使用django来开发一个简单的登录页面。
1)首先,下载python,django并安装。具体安装过程在此不再赘述,可以自行百度。注意要配置好环境变量。
2)然后使用django的命令行在想要创建项目的文件夹下创建一个web项目,命令是django-admin   startproject "web名称"
    3)这样就创建好了一个基本的web项目,接下来就可以用pycharm打开此项目文件夹。
4)由于django的服务器是框架自带的,不需要自己再搭建,所以运行的时候只需要配置服务器为manage.py即可运行项目,项目端口号为8000,在浏览器输入127.0.0.1:8000/即可返回一个自带页面。
5)然后我们还需要创建自己的项目文件夹,在web项目文件夹下面使用命令django-admin startapp "文件夹名称"
    6)此时在我们的项目文件夹下面就多出了一个子文件夹,这里面存放我们自己的应用的文件。
7)至此,项目整体结构如下:
   
   
    其中,helloweb文件夹下面是服务器的一些基本配置文件,urls.py文件里面设置url路径对应的处理模块。settings.py文件中存放项目的一些配置信息。
login文件夹下面是我们的项目内容,其中,models.py设置模型和数据库信息。views.py中对请求进行处理。
static文件夹是存放静态资源,如图片等等
templates文件夹存放页面模版,用于响应给客户端。不过值得注意的是:templates的路径需要在settings.py中进行配置。
   
   
    8)在views.py中定义登录和注册模块的处理逻辑:
   
    import sqlite3from django.shortcuts import render# Create your views here.import datetimefrom django.http import HttpResponsefrom django.shortcuts import render,render_to_responsefrom django.http import HttpResponseRedirectfrom django.template import RequestContextfrom django.views.decorators.csrf import csrf_protect, csrf_exemptfrom login.models import Userfrom django import forms#定义表单模型class UserForm(forms.Form):
        username = forms.CharField(label='用户名',max_length=100)
        password = forms.CharField(label='密     码 ',widget=forms.PasswordInput())#定义注册表单模型class RegistForm(forms.Form):
        name = forms.CharField(label='姓名    ', max_length=100)
        tel = forms.CharField(label='电话    ', max_length=100)
        username = forms.CharField(label='用户名',max_length=100)
        password = forms.CharField(label='密码    ',widget=forms.PasswordInput())#登录@csrf_exemptdef login(request):
        if request.method == 'POST':
            uf = UserForm(request.POST)
            if uf.is_valid():
                #获取表单用户密码              username = uf.cleaned_data['username']
                  password = uf.cleaned_data['password']
                print(username)
                print(password)
                #获取的表单数据与数据库进行比较              cx = sqlite3.connect("E:/test.db")
                cu = cx.cursor()
                # cu.execute(              #       "create table users (id integer primary key,username varchar(50) ,password varchar(50) )")              # sql= "insert into users values (null,'"+username+"','"+password+"')"              # cu.execute(sql)              cu.execute("select username,password from users")
                all_user=cu.fetchall()
                print(all_user)
                for user in all_user:
                    print(user)
                      if username in user and    password in user:
                          print("登录成功。。。")
                          return render_to_response('main.html', {'username': username})
                else:
                      return HttpResponseRedirect('/login/')
        else:
            uf = UserForm()
        return render_to_response('login.html', {'uf':uf})#注册@csrf_exemptdef regist(request):
        print("regist...")
        if request.method == 'POST':
            uf = RegistForm(request.POST)
            if uf.is_valid():
                #获取表单用户密码              username = uf.cleaned_data['username']
                  password = uf.cleaned_data['password']
                #插入数据库              cx = sqlite3.connect("E:/test.db")
                cu = cx.cursor()
                # cu.exeate table users (id integer primary key,username varchar(50) ,password varchar(50) )")                sql= "insert into users values (null,'"+username+"','"+password+"')"              cu.execute(sql)
                cu.close()
                cx.commit()
                  return render_to_response('regist.html', {'hint': "注册完成!!",'uf':uf})
        else:
            uf = RegistForm()
       
    return render_to_response('regist.html', {'uf':uf})
   
   
    其中使用了sqlite数据库存储用户信息。操作也十分简单。
   
    9)在urls.py中定义映射
from django.conf.urls import include, urlfrom django.contrib import admin
   
    from login.views import regist,login
   
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'^login/', login),
        url(r'^regist/', regist),
    ]
   
   
    10)在templates目录下创建模版页面,页面中可以使用预定义变量,使用{{变量名称}}形式写入页面,等响应中传递json数据即可显示
   
   
   
   
    最后的实现效果如下所示:
   
    *注册页面(因为某些原因,没有调节排版。。。)
   
   
   
   
    *登录页面
   
   
   
    *成功页面
   
   
   
        

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之WebApp频道!

本文由 @凌雪 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程