django搭建网站源码分享,django开发的网站

这篇文章给大家聊聊关于django搭建网站源码分享,以及django开发的网站对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

后端开发简介

在我的上一篇文章中,我写了关于使用mixins/middleware处理htmx页面重新加载的文章。在本文中,我们将使用上一个教程中的最后一个选项,或者您可以使用我放在一起的包django-htmx-refresh。

客观的

我本系列的目标是教您如何使用Django和htmx创建动态CRUD应用程序来跟踪客户及其联系信息。

先决条件

我将使用以下软件:

Python3.10.4Django4.0.6HTMX1.8.0Boostrap5.1.3

以及一些额外的Django包:

django-htmx1.12.0django-htmx-刷新1.0.5

不要忘记创建一个虚拟环境并在那里安装这些要求。我不会在本文中介绍如何创建虚拟环境。

注意:我将从CDN加载htmx和Bootstrap文档,但是这两个文档都建议您在生产期间在本地安装它们。

项目设置

让我们从创建Django项目开始。

python3-mdjangostartprojectsimple_crm

在项目目录中,还有另一个同名目录,其中包含项目的设置;重命名此目录核心以避免任何混淆。之后,我们需要更改一些设置以使我们的项目正常工作。

在asgi.py、wsgi.py和manage.py中更改以下行:

os.environ.setdefault(&39;,&39;)

———->

os.environ.setdefault(&39;,&39;)

现在我们可以在settings.py中添加我们需要的所有设置:

INSTALLED_APPS=[\n&39;,\n&39;,\n&39;,\n]\n\n39;crm&39;django_htmx.middleware.HtmxMiddleware&39;django_htmx_refresh.middleware.HtmxResponseMiddleware&39;core.urls&39;DIRS&39;templates&39;core.wsgi.application&Createyourmodelshere.\n\nclassClient(models.Model):\nname=models.CharField(max_length=240)\nphone=models.CharField(max_length=14)\naddress=models.CharField(max_length=300)\nemail=models.EmailField(max_length=240)\ndate_created=models.DateTimeField(auto_now_add=True)\n\ndef__str__(self):\nreturnself.name\n\ndefget_absolute_url(self):\nreturnreverse(&39;,kwargs={&39;:self.pk})

网址

接下来,我们将建立我们的应用程序需要的URL。在core/urls.py中,我们将快速包含我们的新应用程序的urls.py文件,我们将在接下来创建该文件。不要忘记为django_htmx_refresh应用程序添加一个应用程序命名空间以供使用。

fromdjango.contribimportadmin\nfromdjango.urlsimportpath,include\n\nurlpatterns=[\npath(&39;,admin.site.urls),\npath(&39;,include((&39;,&39;))),\n]

现在我们创建client_relationship_manager/urls.py文件并将路径添加到我们的基本CRUD视图。我们还将在URL模式中添加名称以执行URL反转。

fromdjango.urlsimportpath\nfrom.importviews\n\nurlpatterns=[\npath(&39;,views.HomeView.as_view(),name=&39;),\npath(&39;,views.SearchResultsView.as_view(),name=&39;),\npath(&39;,views.CreateClientView.as_view(),name=&39;),\npath(&39;,views.DetailClientView.as_view(),name=&39;),\npath(&39;,views.UpdateClientView.as_view(),name=&39;),\npath(&39;,views.DeleteClientView.as_view(),name=&39;),\n]

意见

现在我们可以创建我们的视图了。我们将为主页和搜索结果页面继承ListView。其余的将是通用的CRUD视图。

fromdjango.shortcutsimportrender\nfromdjango.urlsimportreverse,reverse_lazy\nfromdjango.views.generic.listimportListView\nfromdjango.views.generic.detailimportDetailView\nfromdjango.views.generic.editimportCreateView,UpdateView,DeleteView\nfromdjango.db.modelsimportQ\nfrom.modelsimportClient\nfrom.formsimportCreateClientForm,UpdateClientForm\n\n34;index.html&34;search_results.html&34;results&34;q&34;create_client.html&34;Clientcreated.&34;crm:detail-client&34;detail_client.html&34;update_client.html&34;Clientupdated.&34;crm:detail-client&34;delete_client.html&34;Clientdeleted.&34;crm:index&39;__all__&39;name&39;class&39;form-control&39;phone&39;class&39;form-control&39;email&39;class&39;form-control&39;address&39;class&39;form-control&39;__all__&39;name&39;class&39;form-control&39;phone&39;class&39;form-control&39;email&39;class&39;form-control&34;address&39;class&39;form-control'}),\n}

启动服务器

现在让我们启动服务器,从进行必要的迁移开始。

python3manage.pymakemigrations\npython3manage.pymigrate

然后通过运行以下命令并按照终端中的提示创建超级用户。

python3manage.pycreatesuperuser

现在通过运行启动服务器:

python3manage.pyrunserver

最后,在您的网络浏览器中访问http://127.0.0.1:8000/。您将看到与此图像类似的TemplateDoesNotExist错误:

确保Django正在检查templates/crm中的index.html文件,如上所示。如果不是,则表示HtmxResponseMiddleware不知道client_relationship_manager应用程序,您需要检查HTMX_APPS设置。

结论

后端已准备就绪。在本系列的第二部分中,我们将构建我们的模板并开始使用htmx。如果您想了解更多关于我们今天在这里使用的HtmxResponseMiddleware的信息,我建议您阅读我的第一篇文章。

关注七爪网,获取更多APP/小程序/网站源码资源!

OK,关于django搭建网站源码分享和django开发的网站的内容到此结束了,希望对大家有所帮助。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平