当前位置: 首页 > 知识库问答 >
问题:

django网站的流量是多少。。。。视图、模板、模型和表单实际上是做什么的

钱华晖
2023-03-14

我是新来的django网页编程和挣扎从1个月得到挂视图模型窗体模板...

根据我的说法,如果我需要显示一个登录页面,我有2个选择。1使用内置的UserCreadentialForm方式,这在所有的youtube教程中。2是使用自定义构建。我已经成功地使用了1种方式,现在尝试使用自定义构建的表单.为此,我转到模型并创建一个我选择的模型(如下所示),然后运行迁移命令在数据库中实际创建它们...现在告诉我如何在模板中显示/填充/渲染这些字段。(使用admin url注册/填写字段中的数据并显示在模板上)

base template
<!DOCTYPE html>

<html lang="en">
<head>

    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
</head>

<body>
    {% if title %}
        <title>Django Blog - {{ title }}</title>
    {% else %}
        <title>Django Blog</title>
    {% endif %}

    <h1>I am base Template</h1>

    <div class="container">
        {% block content %} {% endblock %}
    </div>


    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>

</body>
</html>
 child html
    {% extends "app1/base.html" %}

    {% block content %}
        <h1>Enter data</h1>
        {% for d in data %}

            <h5>Username: <h7>{{ d.username }}</h7></h5>
    <br>
            <h5>Email:  <h7>{{ d.email }}</h7></h5>
    <br>
            <h5>Logtime: <h7>{{ d.logtime }}</h7></h5>



        {% endfor %}
    {% endblock content %}

'''

模型。来自django的py。数据库导入模型

username = models.CharField(max_length=30)
email = models.EmailField(max_length=30)
logtime = models.DateTimeField(auto_now_add=True)

def __str__(self):
    return self.username

"'

"'

来自django的URL。URL从导入路径。导入视图

urlpatterns=[path(“”,views.index,name='index'),path('page1',views.page1,name='page1'),path('dashboard/',views.dashboard,name='dashboard'),path('about/',views.about,name='about'),path('base/',views.base,name='base'),]

"'

"'

views.py从django.shortcuts导入渲染。模型从django.http导入登录模型

数据=[{'用户名':'海德尔','电子邮件':'haider@gmail.com',

},
{
    'username': 'ghufran',
    'email': 'ghufran@gmail.com',

} ]

def索引(请求):返回HttpResponse(“主页app1.views.”)

def page1(请求):返回HttpResponse(“page1 app1.views”)

def仪表板(请求):上下文={'data':loginmodel.objects.all()}返回呈现(请求'app1/print.html',上下文)

def base(请求):返回呈现(请求'app1/base.html')

def about(请求):返回呈现(请求'app1/about.html')

def loign(请求):日志=

"'

共有1个答案

公羊雅达
2023-03-14

有很多话要说,但简而言之,

视图-它包含您的逻辑功能,所有主要功能都转到视图。应用程序的名称

模型-它包含数据库的模式,即数据库的总体结构。

模板-它包含您的前端内容,基本上是我们都熟悉的html部分。

表单-现在表单可以使用django或不使用django来完成,但django_表单使事情变得简单,因此表单像往常一样具有与模型关联的字段之类的元素。Django的形式让事情变得非常简单和快速。

希望这有帮助!

 类似资料:
  • 我有Gammer模型,即用户扩展和竞争模型。很多用户可以参加一场比赛,而一场比赛可以有很多用户(很多) 插件管理。py: 管理员可以查看球员比赛(用户)或为他们分配能力 现在我希望玩家(用户)可以注册比赛(选择比赛)。我如何继续?

  • 我对Django非常熟悉,但最近我注意到在模型上有一个 现在可以用作第二个位置参数(以前它通常只作为关键字参数传递)。它将是Django 2.0中的必需参数。 使用的一个例子是: on_delete做什么?(我猜删除模型后要执行的操作。) 做什么?(文档中的任何提示) 还有什么其他选择(如果我的猜测是正确的)? 这方面的文档存放在哪里?

  • 我正试图把我的头缠在Apache Mesos上,需要澄清几个项目。 我对Mesos的理解是,它是一个安装在集群中的每个物理/VM服务器(“节点”)上的可执行文件,然后提供一个Java API(不知何故),将每个单独的节点视为计算资源(CPU/RAM/等)的集体池。因此,对于使用Java API编码的程序,他们只看到一组资源,而不必担心如何/在哪里部署代码。 因此,首先,我在这里的理解可能是根本错误

  • 我在看一个典型的for循环: 我对int I=1后的分号很满意:它是一个声明新变量的语句。如果i也是一个语句,为什么后面没有分号? 另一个例子。我打开Jshell并放置以下内容: 换句话说,命令可以工作,与是否有分号无关。我希望没有它就无法工作。 最后一个示例(改编自关于

  • 我已经回答了一个关于Python中的绝对导入的问题,我认为通过阅读Python2.5更改日志和附带的PEP我理解了这个问题。但是,在安装Python2.5并尝试创建一个从__future__import absolute_import中正确使用

  • 我对Django非常熟悉,但最近注意到在_delete=models上存在一个和选项, > 我已搜索了相同的文档,但除了以下内容外,找不到其他内容: Django 2.0 多对一的关系。需要两个位置参数:与模型相关的类和on_delete选项。要创建递归关系(一个与自身具有多对一关系的对象),请使用models.ForeignKey('self',on_delete=models.CASCADE)