码迷,mamicode.com
首页 > 其他好文 > 详细

20170901 django流程之模板, model以及实例

时间:2017-09-02 14:16:10      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:过程   rem   space   流程   error   oss   inf   同步   col   

20170901 django流程之model以及实例

<4>生成同步数据库的脚本:python manage.py makemigrations

同步数据库: python manage.py migrate

注意:在开发过程中,数据库同步误操作之后,难免会遇到后面不能同步成功的情况,解决这个问题的一个简单粗暴方法是把migrations目录下

的脚本(除__init__.py之外)全部删掉,再把数据库删掉之后创建一个新的数据库,数据库同步操作再重新做一遍。

<5>当我们访问http://127.0.0.1:8080/admin/时,会出现:

技术分享

所以我们需要为进入这个项目的后台创建超级管理员:python manage.py createsuperuser设置好用户名和密码后便可登录啦!

<6>清空数据库:python manage.py flush

<7>查询某个命令的详细信息: django-admin.py help startapp

admin 是Django 自带的一个后台数据库管理系统。

<8>启动交互界面 :python manage.py shell

这个命令和直接运行 python 进入 shell 的区别是:你可以在这个 shell 里面调用当前项目的 models.py 中的 API,对于操作数据,还有一些小测试非常方便。

<9>终端上输入python manage.py 可以看到详细的列表,在忘记子名称的时候特别有用

实例练习1-提交数据并展示

<wiz_code_mirror>
 
 
 
xxxxxxxxxx
63
63
 
 
 
 
 
1
<!DOCTYPE html>
2
<html lang="en">
3
<head>
4
    <meta charset="UTF-8">
5
    <title>Title</title>
6
</head>
7
<body>
8
<h1>创建个人信息</h1>
9

10
<form action="/userInfor/" method="post">
11

12
    <p>姓名<input type="text" name="username"></p>
13
    <p>性别<input type="text" name="sex"></p>
14
    <p>邮箱<input type="text" name="email"></p>
15
    <p><input type="submit" value="submit"></p>
16

17
</form>
18

19
<hr>
20

21
<h1>信息展示</h1>
22

23
<table border="1">
24

25
    <tr>
26
        <td>姓名</td>
27
        <td>性别</td>
28
        <td>邮箱</td>
29
    </tr>
30
    {% for i in info_list %}
31

32
        <tr>
33
            <td>{{ i.username }}</td>
34
            <td>{{ i.sex }}</td>
35
            <td>{{ i.email }}</td>
36
        </tr>
37

38
    {% endfor %}
39

40
</table>
41

42
</body>
43
</html>
44

45

46
-----------------------url.py---------------------------------------
47
url(r‘^userInfor/‘, views.userInfor)
48

49
-----------------------views.py--------------------------------------
50

51
info_list=[]
52

53
def userInfor(req):
54

55
    if req.method=="POST":
56
        username=req.POST.get("username",None)
57
        sex=req.POST.get("sex",None)
58
        email=req.POST.get("email",None)
59

60
        info={"username":username,"sex":sex,"email":email}
61
        info_list.append(info)
62

63
    return render(req,"userInfor.html",{"info_list":info_list})
 
 
 

实例练习2-提交数据并展示(数据库)

<wiz_code_mirror>
 
 
 
x
89
 
 
 
 
 
1
<!DOCTYPE html>
2
<html lang="en">
3
<head>
4
    <meta charset="UTF-8">
5
    <title>Title</title>
6
</head>
7
<body>
8
<h1>创建个人信息</h1>
9

10
<form action="/userInfor/" method="post">
11

12
    <p>姓名<input type="text" name="username"></p>
13
    <p>性别<input type="text" name="sex"></p>
14
    <p>邮箱<input type="text" name="email"></p>
15
    <p><input type="submit" value="submit"></p>
16

17
</form>
18

19
<hr>
20

21
<h1>信息展示</h1>
22

23
<table border="1">
24

25
    <tr>
26
        <td>姓名</td>
27
        <td>性别</td>
28
        <td>邮箱</td>
29
    </tr>
30
    {% for i in info_list %}
31

32
        <tr>
33
            <td>{{ i.username }}</td>
34
            <td>{{ i.sex }}</td>
35
            <td>{{ i.email }}</td>
36
        </tr>
37

38
    {% endfor %}
39

40
</table>
41

42
</body>
43
</html>
44

45

46
----------------------------------------------models.py
47
from django.db import models
48

49
# Create your models here.
50

51

52
class UserInfor(models.Model):
53

54
    username=models.CharField(max_length=64)
55
    sex=models.CharField(max_length=64)
56
    email=models.CharField(max_length=64)
57

58
----------------------------------------------views.py
59

60
from django.shortcuts import render
61

62
from app01 import models
63
# Create your views here.
64

65

66
def userInfor(req):
67

68
    if req.method=="POST":
69
        u=req.POST.get("username",None)
70
        s=req.POST.get("sex",None)
71
        e=req.POST.get("email",None)
72

73

74
       #---------表中插入数据方式一
75
            # info={"username":u,"sex":e,"email":e}
76
            # models.UserInfor.objects.create(**info)
77

78
       #---------表中插入数据方式二
79
        models.UserInfor.objects.create(
80
            username=u,
81
            sex=s,
82
            email=e
83
        )
84

85
        info_list=models.UserInfor.objects.all()
86

87
        return render(req,"userInfor.html",{"info_list":info_list})
88

89
    return render(req,"userInfor.html")
 
 
 
 
 
 
 
 
 
 

20170901 django流程之模板, model以及实例

标签:过程   rem   space   流程   error   oss   inf   同步   col   

原文地址:http://www.cnblogs.com/gengwenhao/p/7466324.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!