django投票系统怎么改投(2023年最新解答)

发布网友 发布时间:1天前

我来回答

1个回答

热心网友 时间:20小时前

导读:本篇文章首席CTO笔记来给大家介绍有关django投票系统怎么改投的相关内容,希望对大家有所帮助,一起来看看吧。

腾讯云python系列之部署Django流程

我的是centos系统

我们通过腾讯的控制台的登录按钮,进入到远程登录的界面,如图1为腾讯云的控制台界面。图2为登录以后的密码输入窗口

进入登录界面以后,会是图3这样子的情况,我们输入ls,会发现没有任何文件,输入piplist会提示没有安装pip,而输入python时,会显示默认安装了python2.7.5版本

一、首先我们要安装pip,根据自己的系统自行选择

centos类系统:sudoyuminstallpythonpython-pip

ubuntu类系统:sudoapt-getinstallpythonpython-pip

安装好以后piplist一下,看看都有哪些python安装包

二、安装django

我安装的Django版本为1.9.8的,根据自己的情况,更改后面的版本号

sudopipinstallDjango==1.9.8

可能会出现图4这样的问题,原因是我们pip版本太低,直接按照提示升级我们的pip

更新了pip以后,安装可能会出现如图5这样的问题,我们不要在==两边加空格,因为加空格会导致不识别django的版本。

安装完以后你会发现自己找不到Django放在哪里了,其实我的django被安装在了

/usr/lib/python2.7/site-packages/

并且我们要执行创建django的命令在django的bin目录下,如图6

/usr/lib/python2.7/site-packages/django/bin

进入到该目录下,运行django-admin.pystartprojectFirstProject,创建出FirstProject的项目。就会在该目录下创建出FirstProject这个项目,进入项目,运行pythonmanage.pyrunserver

问题来了,我们运行以后,不要点击,这个是进不去的,我们应该通过腾讯云的公网ip来访问网站,但又有同学发现通过公网的ip也无法访问我们的网站,这是因为自己的腾讯云没有打开相应的端口,所以无法访问。开放端口在安全组这个选项,如图7

进入安全组,新建我们的开放端口,我开放的是80端口。如图8

开放端口后,我们重新pythonmanage.pyrunserver0.0.0.0:80,如图9

通过公网ip,就可以直接访问我们的网站了。如图10

什么是django?

Django是用Python开发的一个免费开源的Web框架,提供了许多网站后台开发经常用到的模块,使开发者能够专注于业务部分。并且囊括的Web应用部分可以用于快速搭建高性能、优雅的网站。并且提供了通用Web开发模式的高度抽象,通过DRY的理念为频繁进行的编程作业提供了快速解决方法。

Django能在开源发行之后吸引众多追随者,离不开它所具备的以下优点:

①齐全的功能。自带大量常用工具和框架,可轻松、迅速开发出一个功能齐全的Web应用。

②完善的文档。Django已发展十余年,具有广泛的实践案例,同时Django提供完善的在线文档,Django用户能够更容易地找到问题的解决方案。

③强大的数据库访问组件。Django自带一个面向对象的、反映数据模型与关系型数据库间的映射关系的映射器,开发者无须学习SQL语言即可操作数据库。

④灵活的URL映射。Django提供一个基于正则表达式的URL分发器,开发者可灵活地编写URL。

⑤丰富的模板语言。Django模板语言功能丰富,支持自定义模板标签;Django也支持使用第三方模板系统,如jinja2等。

⑥健全的后台管理系统。Django内置了一个后台数据管理系统,经简单配置后,再编写少量代码即可使用完整的后台管理功能。

⑦完整的错误信息提示。Django提供了非常完整的错误信息提示和定位功能,可在开发调试过程中快速定位错误或异常。

⑧强大的缓存支持。Django内置了一个缓存框架,并提供了多种可选的缓存方式。

⑨国际化。Django包含了一个国际化系统,Django组件支持多种语言。

icc2怎么打开数据

icc2怎么打开数据:

ICC2常用命令

Java调用cmd命令打开一个站点

用DOS命令打开IE浏览器、我的文档等等

学了C语言,如何利用CURL写一个下载程序?—用nmake编译CURL并安装

利用vue-cli构建一个Vue项目

利用nodeJS搭建一个简单的Web服务器(转)

利用maven构建一个springmvc的helloworld实例

利用django创建一个投票网站(一)

Linux利用进程打开的文件描述符(/proc)恢复被误删文件

自制工具:迅速打开一个Node环境的Playground

Swift轻松入门——基本语法介绍和详细地Demo讲解(利用WebView打开百度、新浪等网页)

node项目的基本构建流程或者打开一个node项目的流程

利用VS2008发布一个简单的webservice

VirtualBox不能为虚拟电脑打开一个新任务——TheVirtualBoxkernelmodulesdonotmatchthisversionofVirtualBox

「Django框架」-拆分配置文件settings

使用Django命令生成一个项目的基本结构时,配置信息默认保存在和项目目录同名的目录下的settings.py文件里,在实际的开发中,对于一个项目而言,这样往往是不合适的,需要将settings配置文件拆分为几个文件,线上和线下都会使用的文件放置到base.py文件里,线上的放置在product.py文件里,开发测试的文件放置在develop.py文件里。这样功能划分就明确了,方便我们线上线下的调试。

1)在项目同名目录下,创建一个settings的包(目录下含__init__.py的文件夹)。

2)在settings的包中分别新建3个文件:公共基础base.py(用于配置Django默认生成配置文件),develop.py(用于开发环境)、product.py(用于生产环境)。

3)将原来的settings.py的内容复制到base.py文件中。

4)确认目录OK后,我们需要修改base.py中的时区和语言配置:

如果有类似公共部分需要修改的,则在base.py中修改即可,例如注册子应用之类的,在此就不一一举例。。

5)之后,对于线上线下不同部分,我们只要导入base.py模块,再针对不同部分进行修改即可,例如线上线下对接不同的测试数据库,我们则可以修改数据库连接:

6)修改manage.py文件,Django使用自带服务启动时需要知道settings文件的路径。

7)到上生产的时候,使用asgi.py(Django3.x中)或wsgi.py(Django2.x以下版本),则可以更改生产配置文件的路径:

以上又有个问题,如果线上线下环境切换,又要改动代码,我们可以通过设置系统环境变量来动态获取,避免修改代码:

这样通过读取系统环境变量中的LIPIN_PROFILE来控制Django加载不同的settings文件。

这样可以将原来的settings.py文件删掉!!

但是这样就会有个问题,你会发现之前好好的网页我们访问不了了,模板找不到!

这是因为之前的配置文件中,路径问题,因为我们原来的配置文件是在同名目录下,而我们现在将配置文件拆分为一个新的包,所以还要上一级目录才是我们需要的:

django的group_by

django的ORM中并没有单独的group_by方法,而是通过values+annotate的方式来实现group_by.

eg.假如我们有个visit_record表.记录网页每天的访问记录。

id|page_url|domain|pv|uv|date

通过(page_url,domain)唯一确定一个系统。

当values和annotate一起用的时候,values的字段就自动承担起了group_by的作用。这个语句相当于:

需要注意与order_by一起用的时候,如果order_by的字段不在所选字段中或order_by字段是无效的会导致group_by不生效。

例如上述语句的order_by改成order_by('-pv','id')会导致语句变成...groupbyid。

想一下应该可以理解,因为group_by按照page_url和domain聚合之后,得到的记录是多条记录的pv之和,不存在对应的是哪个id的记录,所以没法按照id排序,所以会导致group_by失效。

参见官方文档:

Django运行开发服务器时报错

原因如下:

1、因代码中的中文注释问题的报错

django项目的.py文件文件中加入了中文注释,经常会因此报错而导致无法运行,究其原因是编码的问题,最后的解决办法是直接在有中文注释的.py文件的顶部加上:#-*-coding:utf-8-*-

2、运行过程中的中文乱码的报错

(1)首先确保连接的数据库的基础设置是utf-8。

(2)然后确认django项目中的网页头部设置编码为utf-8,网页头部加上代码:metacharset="utf-8"。

(3)最后仍然报错就是因为django项目中我们没有指明编码方式,所以按照默认设置来,而非正常的utf-8。

(4)所以项目最后需要在进行编码操作的地方,或者直接在settings.py中加入:importsysreload(sys)sys.setdefaultencoding('utf-8')。

3、项目配置在debian系统中,FileField字段在admin中因中文文件名上传报错,解决如下:

(1)终端中操作安装locales

(2)重新选择字符编码

(3).空格选择所有zh_开头的字符编码,OK确认下一步,选择中文UTF-8。

(4).debian里需要在~/.bashrc里面最下面加入exportLC_ALL=zh_CN.UTF-8或者直接运行export.UTF-8。

(5).最后直接reboot重启服务器,查看系统编码,UTF-8中文生效,locale命令可以直接查看系统编码设置,此时再运行django项目上传中文名文件无误。

结语:以上就是首席CTO笔记为大家整理的关于django投票系统怎么改投的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com