Django基础使用

Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。今天就一起来学习下Django;

1. 准备工作

    使用pip安装: pip install Django

2. 基本配置

    1)创建django程序

       a. 终端命令: django-admin startproject mysite , IDE创建django程序时,本质上都是自动执行上述命令

    2)目录结构如下:

3)配置文件 --  (settings.py)

    a. 数据库

   

   b. 模板

  

  c. 静态文件

   

3. 创建App

    a. 命令 

        python manage.py startapp cmdb

       

    b. cmdb 目录结构如下:

    

4. 登录实例

   a.  templates目录下生成html文件,如login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录</title>
</head>

<body>
    <form action='/login/' method='POST'>
        <p>
            <input type="text" name="user" placeholder="用户名"/>
        </p>
        <p>
            <input type="password" name="pwd" placeholder="密码"/>
        </p>
        <p>
            男:<input type="radio" name="sex" value=""/>
            女:<input type="radio" name="sex" value=""/>
        </p>
        <p>
            <input type="submit" value="提交"/>
        </p>
    </form>

</body>
</html>

 b. 修改url文件,定义路由规则

from django.contrib import admin
from django.conf.urls import url
from cmdb import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^login/', views.login),

]

c. 定义视图函数:app下views.py

from django.shortcuts import render
from django.shortcuts import HttpResponse
from django.shortcuts import redirect

# Create your views here.

USER_LIST = {}
def login(request):
    if request.method == 'GET':    #判断请求方式
        return render(request, 'login.html')
    elif request.method == 'POST':
        user = request.POST.get('user')   #post请求,单选、输入框获取值
        pwd = request.POST.get('pwd')
        sex = request.POST.get('sex')
        if user and pwd:
            USER_LIST['name'] = user
            USER_LIST['pwd'] = pwd
            USER_LIST['sex'] = sex
            return render(request, 'success.html', {"user_list": USER_LIST}) 
        else:
            return HttpResponse('请求不能为空')
    else:
        return HttpResponse('请求方式不是get\post')   #HttpResponse("字符串")

d. 提交成功后,跳转到success.html页面, hmtl模板获取 字典数据

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录成功页面</title>
</head>
<body>

  {{ user_list.name}}  #获取字典中某个key的值

 
  <ul>
      {% for k,v in user_list.items %}  #循环字典
          <li>{{ k }} : {{ v }}</li>
      {% endfor %}
  </ul>

</body>
</html>

    

猜你喜欢

转载自www.cnblogs.com/lhly/p/11109868.html