当前位置: 首页 > 网络应用技术

如何将Django项目保留在在线代码上(2023年的最新完成)

时间:2023-03-08 18:12:07 网络应用技术

  简介:许多朋友询问了如何将代码保存在Django项目上。首席执行官在本文中注明将为您提供一个详细的答案,以供所有人参考。我希望这对每个人都会有所帮助!让我们一起看看!

  环境:

  Python3.6

  Centos 7

  django1.11

  用Django编写一个小网站,只能在您自己的位置运行!该怎么办?我听说它可以在云服务器上部署,以便其他人可以访问它!

  它从哪里开始?从django!旧规则开始,请按照以下步骤操作:

  请勿在此处谈论Django项目的实施。假设您已经写了一个Django项目,并且可以以127.0.0.0.1:8000局部奔跑,请给您参考,该项目可能会像这样增长:

  也就是说,项目目录中的settings.py文件主要强调几个地方:

  ①关闭调试模式:

  ②修改允许的host:

  ③配置静态文件存储路径:

  修改配置后,执行:

  关于这一点,无话可说。

  最好在安装UWSGI和验证方法后进行验证:

  创建一个test.py文件:

  启动UWSGI服务器:

  如果您可以正常启动而无需报告,那应该没有问题。如果您不用担心,则可以在终端进行验证:

  以下配置在uwsgi.ini中执行:

  找到NGINX配置文件夹,CentOS7的NGINX配置文件在/etc/nginx下。此路径下有一个nginx.conf总配置文件,两个文件夹https://www.shouxicto.com/article/conf.d,https://wwwww.shouxicto.com/article/article/default.d,我们复制复制nginx.conf到conf.d文件夹,并将其命名为nginx.conf(或project name.conf),如下所示(根据中文注释相应的配置):

  输入uwsgi.ini文件夹以执行:

  在终端执行:

  参考资料:

  刘江的博客

  博客花园

  问答;

  匿名博客

  Django教程

  Django文档

  empty_xl博客

  这需要用于模板。使用安全过滤器作为单独的变量来关闭自动过渡。

  模板文件test.html内容键代码:{{数据|安全的}}

  以下是视图文件的关键代码

  htmlstr =“ img src = https://www.shouxicto.com/stative/images/tree_line.gif/” #save html string

  返回render_to_response('test.html',{data:htmlstr} #back to渲染模板显示

  就是这样。

  Django代码注释

  1.扩展并包含在模板标签中是冲突。随着扩展,包含无法生效。原因是基础渲染的独立机制的设计。

  2.#编码:UTF-8此句子只能在代码文件的第一行中生效,并且在注释字符串后面可能无效。

  3.发布请求休息和Django的本机技术设施层由前端开发简化和交易包装前进。结果是可以将业务层放置在视图中。

  4.用户的自我生成的文本内容页面上有一个用户。最好不要将帖子表格放在XSRF上。前者可能会窃取后者的令牌信息。

  5.在模板==中,逻辑操作符号的两侧必须有一个空间,否则会影响模板分析

  6.以表单的内部逻辑中的clean_data处理中抛出的异常。IS_VALID不会向外传递,但仅会变成form.is_valid()返回false。

  7. Django的业务层和视图层如何划分问题,一种简单的方法是将业务层发送到哪个参数级别,我个人认为验证的表单更合适。

  8.如果否则:1是直接处理它的两种简化的多级技术:12是中途回报的直接回报。尽管这不符合流程编程功能设计原理,但代码相对简单。

  9. Ubuntu的生产环境不能以中文为单数,否则会导致错误。

  10.由于Django的500个机制和交易机制,Django视图层与异常处理代码相对较弱。

  11.模型表格定义:没有出现在首页上的字段,请确保掉落或null,但null会影响默认值,因此最好的方法是掉落。否则,由于表单中的字段似乎并未覆盖默认值为null。比排除更方便的定义方法是定义字段元信息,因此模型添加了未使用的字段,您无需运行到RE- 填写表单定义

  12.数据库 - 内存数据的格式显示在模板中显示带有诸如日期之类的过滤器。如果您直接使用DateTime的横Striftime格式化,它将导致时区数据丢失。时间是值得的。如果您在代码中的Strifttime中处理它,则可以首先使用django.utils.timezone.localtime方法。

  13. Django调试中的一个问题:众所周知,RunServer启动,更改代码,服务将重新启动,但是更改自定义标签代码,服务不会重新启动。

  14.表单验证的错误中没有文本信息。看文档前一段时间,我发现新版本加强了错误。在较旧版本中,我编写了一个函数来分析错误对象的反馈文本信息。

  15.通过Manytomany字段无法添加或删除。为了进行可伸缩性,建议默认情况下添加。您可以将date_added字段添加到中间关系表中。顺便说一句,唯一_todecter受到限制,但是通过使用是有缺陷的:写作操作有点麻烦。应首先删除这个Manytomany字段,然后迁移生效,然后添加一个Manytomany字段。当然,背景是在背景中。

  几天前,老师要求我将Django Project(爬行动物网页)放在校园的内网上,但我想先用自己的服务器尝试一下。我刚刚在数字海洋上购买了一台服务器以运行SS脚本。通常,服务器始终没有用,因此请进行测试。

  第一步并没有太多胡说八道,将Django文件通过WINSCP软件传递给服务器。

  在服务器中安装Django所需的环境和我需要的第三方库。

  完成上述步骤完成后,有必要执行一个步骤操作,这是我体验的一个坑。在Django文件目录中打开settings.py,然后将允许的_hosts = []更改为werse_hosts = [**“*”]。

  打开“ anage.py位于服务器中”的目录,然后输入命令:

  python3 manage.py runserver 0.0.0.0:8000

  然后按Enter并输入浏览器:服务器IP地址:8000,伟大的成就!

  注意力:

  1. Python3不是特定的,它是根据您的Django项目所需的环境指定的。

  2. 8000是可以修改的端口号。

  如果您希望Django项目在关闭终端后运行和运行,则需要运行以下命令,NOHUP命令,命令casted Python3 Manage.py Runserver 0.0.0.0.0.0:8000。

  1.确定用户模型

  我们建议它确定Django项目中使用的用户模型:

  #使用默认用户模型时

  来自django.contrib.auth import get_user_model

  get_user_model()

  #使用自定义用户模型时

  来自django.contrib.auth import get_user_model

  get_user_model()

  2.使用设置.auth_user_model

  由于Django 1.5,用户可以自定义用户模型。如果外部密钥需要使用用户模型,则正式推荐的方法如下:

  在设置中设置auth_user_model:

  #settings.py

  #格式为“。”。

  auth_user_model =“ myapp.newuser”

  在型号中使用

  #models.py

  来自django.conf导入设置

  来自django.db导入模型

  班级文章(Models.Model):

  作者= models.foreignkey(settings.auth_user_model)

  title = models.charfield(max_length = 255)

  应该注意的是,在外键中不使用get_user_model()。

  3.自定义用户模型

  方法1:扩展抽象使用者类

  如果您对Django随附的用户模型同样满意,并且需要其他字段,则可以扩展Abstractuser类:

  #myApp/models.py

  来自django.contrib.auth.models import Abstractuser

  来自django.db导入模型

  班级新闻器(摘要使用者):

  new_field = models.charfield(max_length = 100)

  不要忘记在设置中设置:py:

  auth_user_model =“ myapp.newuser”

  方法2:扩展Abstractbaseuser类

  AbstractBaseuser仅包含3个字段:密码,last_login和is_Active。如果您对Django用户模型的默认first_name(last_name)不满意,或者如果要保留默认的密码存储方法,则可以选择此方法。

  方法3:使用OneToOneField

  如果您想构建第三方模块并将其发布在PYPI上,则该模块需要根据用户存储每个用户的其他信息。或者我们的Django项目希望不同的用户具有不同的字段,并且有些用户需要不同的字段组合。我们使用方法1或方法2:

  #profiles/models.py

  来自django.conf导入设置

  来自django.db导入模型

  从口味。模型进口风味

  Easterprofile类(Models.Model):

  user = models.onetoonefield(settings.auth_user_model)

  FAREE_ICE_CREAM =模型。外国钥匙(味道,null = true,空白= true)

  类ScooperProfile(Models.Model):

  user = models.onetoonefield(settings.auth_user_model)

  scoops_scooped = model.intergerfield(默认= 0)

  类InventorProfile(Models.Model):

  user = models.onetoonefield(settings.auth_user_model)

  flavors_invented =型号。

  使用上述方法,我们可以使用user.easterprofile.favorite_ice_cream来获得相应的推动力。

  使用此方法的缺点可能会增加代码的复杂性。

  结论:以上是首席CTO注释如何汇编Django Project在线代码的所有内容。感谢您阅读本网站的内容。我希望这对您有帮助。有关如何将代码保存在Django项目上的更多信息,请不要忘记在此网站上找到它。