简介:许多朋友询问了如何使用该算法推荐有关Django的一些随机问题。首席执行官在本文中注明将为您提供详细的答案,以供所有人参考。我希望这对每个人都会有所帮助!让我们一起看看!
使用Django生成模型方法,如下所示:
1.将旧数据库添加到您的项目
编辑数据库设置。您需要告诉Django您的数据库连接参数是什么,以及数据库的名称。为了实现此目的,您需要编辑数据库设置并在“默认”下分配密钥值。我们必须首先打开settings.py文件,在文件中找到“数据库”,然后开始分配。以下号码对应于下图中的数字。
①所使用的数据库,这是一个PostgreSQL数据库。
②使用的数据库名称。
③连接到数据库时使用的用户名。
④连接到数据库时使用的密码。
⑤连接到数据库时使用的主机。本地主机在这里使用。
⑥连接到数据库时使用的端口。
2.自动生成模型(模型)
1.创建模型(模型).django带有一个名为IsspectDB的实用程序,该实用程序可以通过检查现有数据库来创建模型(模型)。您可以实现以下命令。
2.在指定文件中创建模型(模型)。将其放到指定的文件中。您可以实现以下命令。
3.特定示例。现在我们可以通过特定示例的代码更好地理解。以下数字对应于下图中的数字。
①在项目中创建一个名为“旧版”的文件夹。
②在“传统”文件夹中创建一个名为“旧版”的应用程序。
③自动在指定文件(apps/legacy/models.py)中生成模型。
第1节:启动您的申请
输入您的项目目录,此目录应包括这些文件__init __。py,manage.py,settings.py和urls.py.my项目名称是djangorocks。如果要使用其他名称,则需要在将来代码中替换所有Djangorocks。
在终端中输入以下命令,为我们的博客创建一个新的应用程序目录和几个基本文件。
python manage.py startapp博客
现在,您应该在这三个文件下方有一个文件夹__init__.py,models.py和views.py。
重要的
在项目文件夹中打开settings.py,查找intasted_apps并添加“博客”,代码如下:
instasted_apps =((
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'djangorocks.blog',
治愈
Django现在知道您有一个新应用程序,以下内容是详细创建它。
第2节:定义您的模型(定义模型)
该模型是您的数据库结构。让我们在应用程序目录中打开Models.py,然后添加一些字段,因为这很简单,我将不包括用户。
班级博客(Models.Model):
title = models.charfield(max_length = 100,unique = true)
slug = model.slugfield(max_length = 100,unique = true)
body = model.textfield()
发布= models.datefield(db_index = true,auto_now_add = true)
类别= model.foreignkey('blog.category')
类别类别(Models.Model):
title = models.charfield(max_length = 100,db_index = true)
slug = model.slugfield(max_length = 100,db_index = true)
现在让我们看一下上述代码中每个部分的含义
这将在数据库中创建一个“博客”表,该表很明显,并且将来将在将来使用。
classblog(models.model):
这些是基于数据库的基本字段
title = models.charfield(max_length = 100,db_index = true)
slug = model.slugfield(max_length = 100,db_index = true)
body = model.textfield()
发布= models.detetimefield(db_index = true,auto_now_add = true)
最后一个字段稍微更高级。该字段的数据来自另一个表,这是我们通常说的外键。有关详细信息,请参阅SQL外键约束。
类别= model.foreignkey('blog.category')
模型构造完成
1. Django形式很强大
一些Django项目不会直接呈现HTML。第二个是API框架的形式,但您可能不会期望Django形成。Django形式不仅用于以这些API形式呈现HTML。最强的位置应该是其验证能力。让我们介绍几种与Django形式结合的模式:
2.模型1:ModelTelt和默认验证
最简单的模式是Modelform和Model中定义的默认验证方法的组合:
#myApp/views.py
来自django.views.gneric import createview,updateView
从括号。视图导入loginrequiredmixin
从.models导入文章
类ArticleCreateAteview(LoginRequiredMixin,CreateView):
型号=文章
fields =('title','slug','review_num')
class ArticleUpDateView(LoginRequiredMixin,UpdateView):
型号=文章
fields =('title','slug','review_num')
如您在上面的代码中所见:
ARTICLECREATEATEVIEW和ARTICEUPDATEVIEW设置模型作为文章
两者都可以根据文章模型自动生成模态
这些模型的验证基于文章模型中定义的字段转换
3.模式2,修改和验证模型
在上面的示例中,如果我们希望每个文章的开始都是“新”,那么我们该怎么办?首先,我们需要建立自定义验证(验证器):
#utils/valivator.py
来自django.core.corpeptions导入验证eRROR
def value_begins(value):
如果不是value.startswith(u'new'):
提高验证Error(u'must从new'开始)
可以看出,Django中的验证程序是不符合条件并抛出验证的功能。为了促进重复使用,我们将它们放入验证器中。
接下来,我们可以将这些验证器添加到模型中,但是为了方便变化和维护,我们更倾向于加入该模型:
#myApp/forms.py
从django导入表格
从utils.validators导入validate_begin
从.models导入文章
班级文章(forms.modelform):
dev __init __(self, *args,** kwargs):
Super(Artical Form,Self).__ Init __(8args,** kwargs)
self.fields [“ title”]。验证者。
元类:
型号=文章
Django的编辑视图(UpdateView和CreateView等)的默认行为基于为自动创建Modelform的模型属性。因此,我们需要调用自己的模型来涵盖自动创建:
#myApp/views.py
来自django.views.gneric import createview,updateView
从括号。视图导入loginrequiredmixin
从.models导入文章
来自.forms导入文章
类ArticleCreateAteview(LoginRequiredMixin,CreateView):
型号=文章
fields =('title','slug','review_num')
form_class = ArtistForm
class ArticleUpDateView(LoginRequiredMixin,UpdateView):
型号=文章
fields =('title','slug','review_num')
form_class = ArtistForm
4.模型三,使用form()和clear_field()方法
如果我们要以形式验证多个字段,或验证现有存在中涉及的数据,则需要使用clean()和clear_field()表单的方法。多种密码与password2相同2:
#myApp/forms.py
从django导入表格
类Myuserform(forms.form):
用户名= forms.charfield()
密码= forms.charfield()
passwass2 = forms.charfield()
def clean_password(self):
密码= self.clenet_data ['密码']
如果Len(密码)= 7:
提高表格。ValidationError(“密码不安全”)
返回密码
def Clean():
clear_data = super(myuserform,self).clean()
密码= clear_data.get('密码','')
passwass2 = clear_data.get('password2','')
如果密码!=密码2:
提高表格。ValidationError(“密码不匹配”)
返回clean_data
应当指出的是,在验证或修改后,必须将Clean()和Clean_field()()()的最后值返回到值。
5.模式4,Modelform中的自定义字段
我们经常以形式遇到默认验证。例如,模型中有许多不需要的项目,但是对于完整的信息,您希望必须填写这些字段:
#myApp/models.py
来自django.db导入模型
类Myuser(Models.Model):
用户名= models.charfield(max_length = 100)
密码= models.charfield(max_length = 100)
地址= models.textfield(空白= true)
phone = models.charfield(max_length = 100,空白= true)
为了满足上述要求,您可以直接添加字段以重写模型:
#请不要这样做
#myApp/forms.py
从django导入表格
来自.models导入myuser
类Myuserform(forms.modelform):
#请不要这样做
地址= forms.charfield(必需= true)
#请不要这样做
phone = forms.charfield(必需= true)
元类:
模型= Myuser
请不要这样做,因为这违反了“不重复”的原则,并且在许多复制和粘贴之后,代码将变得复杂且难以维护。正确的方法应该是使用__init __():
#myApp/forms.py
从django导入表格
来自.models导入myuser
类Myuserform(forms.modelform):
def __init __(self, *args,** kwarg):
super(myuserform,self).__ init __(*args,** kwargs)
self.fields ['address']。必需= true
self.fields ['Phone']。必需= true
元类:
模型= Myuser
值得注意的是,django形式也是Python类。该类可以继承并继承或动态修改。
django1.9.5python3.4.4
文件结构
通过django构建的模型将爬网剧本中的数据爬行保存到数据库中
修改后的文件(生成了Pycharm新Django项目的其余部分,而不是修改):
插入(0,OS.Path.Abspath(OS.Path.join(pathName,'..')))OS.ENVIROR.SETDEFAULT(“ django_settings_module”,“ testproject.settings”)如果__name __ ==“ __ -main __”:p = preplem(title =“ [#0#]”,rutient =“ hi”)应用程序“ testapp”,] ...#testapp/admin.py注册的django.contrib import admin在此处的背景管理接口中。从testadals进口propadmin.register(Propilem)
运行Spider.py,添加一个实例记录
运行Django项目,创建管理员帐户并查看背景管理接口的结果
如果您想开始写博客并使用功能强大的网络框架创建自己的博客,那么Django是您的最佳选择。目前,本系列中有14个教程。我仍在学习,欢迎您给我更多的想法。
这些教程是:
设置Django的VSCODE:在第一个视频中,您将学习如何在VSCODE文本编辑器上为Django建立开发环境。使用Django创建博客文章模型:此视频涵盖了创建博客文章模型的所有详细信息。从标题到作者到标签。
设计发布页面:关于Bootstrap 4设计设计设计的快速教程。
创建一个详细的信息发布课程视图:您将学习如何为博客文章创建基于类的视图。它将允许您在“自定义发布”页面的管理页面上使用自定义链接,以显示我们在管理页面上创建的帖子。
跟踪您的Django网站的访问者数量:我们将看到如何跟踪博客文章的访问/浏览数量。我们将使用工具来知道您在看到您的帖子时可以看到多少访问者可以看到您的帖子。将能够知道他们的IP地址和使用的用户代理。
添加注释要在Django中发布:在此视频中,您将看到如何在博客应用程序中添加评论模型。因此,读者可以向您发送评论,这将易于执行和管理。将注释添加到视图文件中。
设计博客页面指南计划:您将设计一个博客页面,该页面将列出博客文章和其他元素。
Django博客列表视图:在此视频中,您将看到如何在博客页面上显示博客文章。我们将介绍如何通过在邮政模型中添加另一个属性来访问每个帖子的链接。此外,您将看到如何在边境栏中显示流行的帖子和邮政类别。
Django 3.1中的简单分页:此视频只会介绍Django页面的下一个和上一个按钮。
Django搜索表[带有Q对象的过滤器]:如何在Django博客网站上实现搜索功能
django中的搜索结果:使用Bootstrap
将类似的帖子添加到详细信息中:将标记功能添加到我们的Django博客网站。
使用Django的简单用户身份验证系统:实现Django第三派对应用程序,用户可以注册,登录,更换和更改密码。
结论:以上是首席CTO第一部分的所有随机含量,请注意Django如何推荐上一部分的一部分。我希望这对每个人都会有所帮助。如果您想进一步了解这一点,请记住要收集对该网站的关注。