b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

Django 2.1(python)初学者图形教程简介(2)

电脑杂谈  发布时间:2020-03-19 17:16:27  来源:网络整理

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
    <h1>用户输入:</h1>
    <form action="/index/" method="post">
        {% csrf_token %}   <!--加入这行 --> 
        用户名:<input type="text" name="username" /><br />
        密码:<input type="password" name="password" /><br />
        <input type="submit" value="提交" />
    </form>
</body>
</html>

image.png-126.3kB

再次进入浏览器,刷新索引页面,输入内容,这次您可以成功提交,然后我们可以在Pycharm中看到print语句打印的相应数据.

image.png-58.9kB

现在我们已经收到了用户的数据,静态页面仍然返回给用户. 通常,在返回给用户之前,我们会根据用户的数据对其进行处理.

首先转换views.py文件:

image.png-101.3kB

from django.shortcuts import render
from django.shortcuts import HttpResponse
# Create your views here.
user_list = []
def index(request):
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')
        print(username, password)
        temp = {'user': username, 'pwd': password}
        user_list.append(temp)
    return render(request, 'index.html', {'data': user_list})

重建index.HTML文件:

image.png-77.8kB

python django教程_python django mysql_python django 教程

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
    <h1>用户输入:</h1>
    <form action="/index/" method="post">
        {% csrf_token %}   <!--加入这行 -->
        用户名:<input type="text" name="username" /><br />
        密码:<input type="password" name="password" /><br />
        <input type="submit" value="提交" />
    </form>
    <h1>用户展示:</h1>
        <table border="1">
            <thead>
                <tr>用户名</tr>
                <tr>密码</tr>
            </thead>
            <tbody>
                {% for item in data %}
                <tr>
                    <td>{{ item.user }}</td>
                    <td>{{ item.pwd }}</td>
                </tr>
                {% endfor %}
            </tbody>
        </table>
</body>
</html>

说明: Django使用自己的模板语言,类似于jinja2. 根据提供的数据,替换HTML的相应部分python django教程,开始学习后的详细语法.

下一步,重新启动服务,刷新浏览器,然后再输入几次.

image.png-25kB

可以看出,我们已经获得了用户实时输入的数据,并实时显示在用户页面上,这是一个很好的交互过程. 在Pycharm中,我们还可以看到每次输入的数据.

这一过程已经结束,Django的MTV框架已经基本浮出水面,只剩下最后一个部分.

尽管我们与上述用户进行了很好的互动,但是我们没有保存任何数据. 关闭页面或重新启动服务器后,一切将恢复为原始状态.

毫无疑问,需要使用. Django通过内置的ORM框架来操作,并且本地支持轻量级sqlite3. 让我们看一下:

在使用之前,我们需要注册该应用程序:

image.png-82.3kB

如果不注册它,您的将不知道要为其创建表的应用程序.

然后,我们在设置中配置与相关的参数. 如果使用sqlite3,则无需进行任何更改.

image.png-55.9kB

编辑models.py文件,该文件在MTV中为M.

image.png-78.9kB

from django.db import models
# Create your models here.
class UserInfo(models.Model):
    user = models.CharField(max_length=32)
    pwd = models.CharField(max_length=32)

我们在此处创建了2个字段,其中包含用户的名称和密码.

接下来,您需要使用Pycharm的Teminal中的命令创建表. 有2个命令,它们是:

python manage.py makemigrations

image.png-38.9kB

这将在登录目录的migrations目录中生成0001_initial.py迁移日志文件.

image.png-32.1kB

再次输入命令:

python manage.py migrate

结果如下:

D:\work\for_test\mysite>python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, login, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying login.0001_initial... OK
  Applying sessions.0001_initial... OK

通过这种方式,我们在中创建了所有应用程序数据表. 我们可以在项目根目录中看到一个db.sqlite3文件:

image.png-26.4kB

现在让我们在views.py中修改业务逻辑

image.png-143.8kB

from django.shortcuts import render
from login import models  # 导入models文件
# Create your views here.
def index(request):
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')
        # 将数据保存到
        models.UserInfo.objects.create(user=username, pwd=password)
    # 从中读取所有数据,注意缩进
    user_list = models.UserInfo.objects.all()
    return render(request, 'index.html', {'data': user_list})

重新启动Web服务后,刷新浏览器页面,然后可以将与用户交互的数据保存到中. 您可以随时从中读取数据并将其显示在页面上,而不会丢失先前的数据,因为服务器已中途关闭.

至此,一个完整的Django项目(具有完整的元素并清晰显示主框架)已完成. 真的很简单吗?

Django是Python的必须学习的Web框架. 它功能强大且全面,但也意味着它有很多限制,灵活性低和可修改性差. 这是一条鱼和熊掌. 当我们学习Django时,实际上是在学习软件. 首先,我们必须了解其基本原理,掌握其总体框架,并牢记一些基本规则. 其余的将继续深入研究细节. 深度和难以管理的技术.


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-145070-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...