首席执行官在本文中指出,将介绍有关Django在线方式以及Django开发的网站的相关内容。我希望这对每个人都会有所帮助。让我们来看看。
本文目录清单:
1. [django]部署(1)如何在阿里巴巴云上部署Django网站3.如何在阿里巴巴云上部署Django 4.如何在阿里巴巴云上构建Django网站。IT THEIT一直在背景6中运行。如何创建Django网站Django部署也非常方便。我使用了以下三种方式,适用于特定场景。
不要看不起Django自己的服务器。命令解决部署问题。尽管性能不高,但某些场景和此方法最合适。Runserver0.0.0.0:80可以打开LAN中的Django服务,这适用于不需要用户和性能要求的场景。
您可以使用apache+mod_wsgi或iis+wfastcgi部署。相比之下,IIS更方便,毕竟,Microsoft拥有自己的工具。
最广泛使用的是Nginx+UWSGI的部署方法。还有许多教程。此外,Docker的一个单击部署正在节省时间和精力。
在Linux系统上建议使用Django的部署建议。Linux服务器的发行版更容易启动,应该是Ubuntu。Aliyyun上的最新版本应为16.04,建议使用64位。
如果您是一个新网站,则没有太多访问权限,建议使用1个核心1内存或2G内存,而1-2M宽带就足够了。
部署,安装nginx:
APT安装nginx
我不知道您的Django项目是Python2还是Python3。如果您选择UWSGI部署方法,除了UWSIG需要安装Uwsgi-Plugin-Python或Uwsgi-Plugin-Python3333
其余文档的剩余UWSGI部署部分基本上还可以,因为完整的实现时间太长,并且有UWSGI配置文件。
先决条件
1.为Python应用程序安装Virtualenv和Virtualenv包装器,目的是为Python项目创建一个独立的环境。
●安装PIP
sudo apt-get安装python pip
●安装Virtualenv
sudo pip安装virtualenv
●创建一个目录以存储您的Virtualenv
mkdir?/.virtualenvs
●安装VirtualenWrapper
sudo pip安装virtualenvwrapper
●将workon_home设置为您的Virtualenv目录
export workon_home =?/.virtualenvs
●将workon_home设置为您的Virtualenv目录
export workon_home =?/.virtualenvs
●添加virtualenvwrapper.sh到.bashrc
将此行添加到?/.bashrc的末尾,以加载virtualenvwrapper命令./usr/local/bin/bin/virtualenvwrapper.sh
退出,然后打开外壳,或使用.bashrc或source?/.bashrc命令重新加载.bashrc,然后一切准备就绪。
2.安装git。
apt-get安装git
3.将NGINX作为Web服务器安装,以便您以后运行应用程序。
sudo apt-get安装nginx
启动您的第一个Linux实例
接下来,我将介绍使用阿里巴巴云管理控制台运行ECS实例的相关步骤。
1.登录到您的帐户,然后导航到“产品和服务”部分下的“云服务器”。单击侧baroon菜单的概述。这显示了在操作中的实例列表。单击“购买实例”来自任何区域的示例,或继续在下一步中创建一个新示例。
2.单击“侧边栏”菜单中的实例。选择示例列表中所需的区域,然后单击“上限”中的创建实例。
3.系统将使您重组为“产品购买”控制台。在这里,您需要选择首选的资源软件包,为ECS实例和数据传输提供特殊定价的主要资源包,或者提供两个高端购买资源包,并带有两个定价模型,您可以根据自己的需求选择订阅(每月或年度)- 年)或付款。在这种情况下,我们选择“按数量付款”。
4.在此窗口中,在此窗口中选择ECS实例的数据中心区域和可用性区域。如果选择该区域,但是未选择可用区域,则系统将随机将实例放置在任何区域中。
5.现在您需要选择要创建的实例类型。根据您自己的需求,从“生成”选项卡中选择表单类型类型。生成类型代表基于配置使用的计算能力和使用的计算。
6.接下来,选择网络类型以启动您的ECS实例。您可以根据自己的需要选择经典网络或专有网络。在经典网络中,阿里巴巴云以分布式方式分配IP地址。它适合用户谁需要简单,快速地使用EC。专有网络更像是一个逻辑隔离的专用网络,它支持专用连接。它适合熟悉网络管理的用户。选择适当的网络类型后,选择在线计费类型:数据传输或固定带宽。在这两种情况下,您需要设置一个网络频段范围峰值(最大数据传输速率)。
7.现在您需要选择操作系统。每个选项下提供了不同操作系统版本的列表。选择Ubuntu。
8.根据您自己的需求,从drop -down菜单中选择系统磁盘类型。您还可以通过单击“添加磁盘”将更多磁盘添加到此列表中。
9.在“安全设置”部分中,您可以创建一个密码以提高安全性,或在此阶段跳过此步骤,并在后来从管理控制台执行此操作。
10.在“采购计划”部分中,输入您的实例名称并设置要启动的实例数。
11.在“概述”部分中查看配置详细信息和总价格,然后单击立即购买。
12.单击以打开确认业务订单并开始实例。
13.启动实例后,您可以在“控制台实例”选项卡中查看实例。
安装和部署Django应用程序
您已经使用了阿里巴巴云管理控制台来创建和启动ECS实例,并让我们了解如何安装和部署Django应用程序。
1.使用SSH命令登录到您的服务器
2.输入密码
3.通过创建一个新的Virtualenv来部署Django应用程序来设置环境:
mkvirtualenv djangoapp
要退出新的Virtualenv,请使用停用。
您可以使用workon。在环境之间进行切换。加载或在virtualenv之间切换,使用workon命令:workon djangoapp
4.在您当前的环境中安装Django
PIP安装Django
5.使用django-admin命令创建示例项目,然后将目录更改为项目文件夹。
django-admin startproject todoapp
CD TodoApp/
6.迁移或指导您的数据库。
python manage.py迁移
7.创建超级用户以访问管理面板。
python manage.py createSuperuse
8.设置用户后,通过运行由manage.py操作的RunServer命令来测试您的应用程序
python manage.py runserver 0.0.0.0:8000
您将看到以下在端口8000上运行的内容
转到 /管理员,这是您的管理面板,您可以在此处管理应用程序。
现在,使用NGINX将应用程序放置在Web服务器后面。
9.创建一个数据库体系结构以打开Python环境。
●将目录更改为Django Project目录
●运行以下命令
python manage.py迁移
10.收集所有静态文件(CSS,JS等)
●运行以下命令以在任何特定位置收集所有静态文件
python manage.py collectstatic -noinput
●开发人员负责将static_url路径设置为收集所有静态文件的位置。
●这些变量在项目目录中的设置中定义。
1. static_url
2. staticfiles_dirs
3. static_root
11.使用UWSGI服务器安装UWSGI库并启动服务器。
PIP安装UWSGI
●创建ini file vim uwsgi.ini,部署到部署Django应用程序
●将其保存到应用程序目录上的uwsgi.ini。有关如何编写INI文件的更多了解,请参阅Python/wsgi应用程序以快速启动。运用此命令来启动您的应用程序。
uwsgi uwsgi.ini(您的INI文件)
12.更改应用程序的NGINX配置文件。
/UWSGI.SOCK;}}
13.重新启动nginx,然后您的应用程序将在端口80上启动和运行。
网站必须包括域名和主机空间,域名是通常所引用的URL,并且空间用于放置Web文件。
1.应用程序域名:域名必须易于内存和理解。越短,您的品牌名称越好,英语或中文拼音。
2.申请主机空间:如果您使用DW等软件设计网页,则可以使用虚拟主机。如果您不设计它,则可以使用网站进行网站。您可以键入网站。操作简单而强大。您可以免费尝试。
注意:必须成功记录国内主机,然后才能使用自己的域名访问它。网站通常需要大约10个工作日;个人网站提交后,无法放置企业或产品类别的内容。Sudong网站的国际版本无需记录,可以直接使用。
希望能帮助您,您可以添加我。
几天前,老师要求我将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.7的Django版本创建一个简单的Django网站。
1.创建项目
运行以下命令来创建Django项目。项目名称是MySite:
$ django- addmin.py startproject mysite
创建的项目目录如下:
我的网站
e- manage.py
t - 锰矿
t- __init__.py
在──设置.py
s-或urls.py
。─— wsgi.py
1个目录,5个文件
阐明:
__init__.py:让Python将目录作为开发包所需的文件(即一组模块)。这是一个空文件,通常您不需要修改它。
Manage.py:命令行工具允许您通过多种方式与Django项目进行交互。类型python manage.py帮助查看它可以做什么。您不需要编辑此文件;在此目录中为方便起见是纯粹的。
settings.py:Django项目的设置或配置。
urls.py:项目的URL路由设置。目前,它是空的。
wsgi.py:wsgi Web应用程序服务器配置文件。有关更多详细信息,请检查如何使用WSGI部署
接下来,您可以修改settings.py文件,例如:修改Lagansy_code,设置时区time_zone
SIT_ID = 1
lanking_code ='zh_cn'
time_zone ='亚洲/上海'
use_tz = true
[时区]()功能在上方打开。您需要安装pytz:
$ sudo pip安装pytz
2.操作项目
在运行项目之前,我们需要创建一个数据库和表结构。我在这里使用的默认数据库:
$ python manage.py迁移
执行操作:
应用所有迁移:管理员,contenttypes,auth,sessions
运行迁移:
应用ContentTypes.0001_Initial ...确定
应用auth.0001_initial ...确定
应用管理员0001_Initial ...确定
应用sessions.0001_initial ...好的
然后开始服务:
$ python manage.py runserver
您将看到以下输出:
执行系统检查...
系统检查没有问题(0沉默)。
2015-02 1月28日:08:33
Django版本1.7.1,用户设置“ mysite.settings”
启动开发服务器
使用Control-C退出服务器。
这将在端口8000启动本地服务器,只能从您的计算机连接和访问。现在服务器正在运行,现在可以访问Web浏览器。它开始工作。
您还可以指定启动端口:
$ python manage.py runserver 8080
并指定的IP:
$ python manage.py runserver 0.0.0.0:8000
3.创建一个应用程序
一个项目是更早创建并成功运营的。现在,要创建一个应用程序,应用程序等同于项目的子模块。
在项目目录中创建一个应用程序:
$ python manage.py startapp民意调查
如果操作成功,您将在MySite文件夹下看到一个称为民意调查的文件夹。目录结构如下:
民意调查
t- __init__.py
.- admin.py
在移民
│_ _- __init__.py
s- models.py
。—— tests.py
s - 视图。
1个目录,6个文件
4.创建模型
每个Django模型都从django.db.models.model继承
模型中每个属性的每个属性代表数据库字段
通过Django模型API
在民意调查文件夹下打开Models.py文件。创建两个模型:
导入日期
来自django.db导入模型
来自django.utils重要时区
班级问题(Models.Model):
Question_Text = model.Charfield(max_length = 200)
pub_date = model.dateTimeField('Date已发布')
def was_publish_recression(seld):
返回self.pub_date = timezone.now()-dateTime.timedelta(天= 1)
班级选择(Models.Model):
问题=模型。Foreignkey(问题)
choce_text = models.charfield(max_length = 200)
投票= model.integerfield(默认= 0)
然后修改inporthed_apps以在mySite/settings.py中添加民意调查:
instasted_apps =((
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
“民意调查”,
治愈
添加新应用程序后,我们需要运行以下命令来告诉Django您的模型以进行更改。迁移数据库需要迁移:
$ python manage.py makemigrations民意调查
您将看到以下输出日志:
“民意调查”的迁移:
0001_Initial.py:
- 创建模型选择
- 创建模型问题
-DD现场问题选择
您可以从民意调查/迁移/0001_Initial.py查看迁移语句。
运行以下语句,您可以查看迁移SQL语句:
$ python manage.py sqlmigrate民意调查0001
输出结果:
开始;
创建表“ polls_choice”(“ id”整数而不是null主键自动启动,“ choice_text” varchar(200)而不是null,“投票” integer而不是null);
创建表“ polls_question”(“ id”整数而不是null主键自动启动,“ Question_Text” Varchar(200)不是null,“ pub_date” dateTime null)
插入“ polls_choice__new”(“ phoce_text”,“票”,“ id”)选择“ polls_choice”中的“ choice_text”,“票数”,“投票”,“ id”
丢弃表“ polls_choice”;
Alter Table“ Polls_Choice__new”重命名为“ Polls_Choice”;
在“ Polls_Choice”(“ Question_ID”)上创建索引Polls_choice_7aa0f6ee;
犯罪;
您可以运行以下命令以检查数据库是否存在问题:
$ python manage.py检查
再次运行以下命令以创建新添加的模型:
$ python manage.py迁移
执行操作:
应用所有迁移:管理员,内容类型,民意调查,auth,会议
运行迁移:
应用民意调查。0001_Initial...好的
总而言之,在修改模型时,您需要执行以下步骤:
修改型号.py文件
运行python manage.py makemigrations创建迁移语句
运行python manage.py迁移并迁移模型更改为数据库
您可以阅读django-admin.py文档以查看更多管理。
创建模型后,我们可以通过Django提供的API进行测试。run以下命令输入Python Shell的交互模式:
$ python manage.py shell
这是一些测试:
从polls.models导入问题,选择#导入我们刚刚编写的模型类。
#系统中还没有问题。
Question.Objects.all()
[]
#创建一个新问题。
#在默认设置文件中启用了对时区的支持,因此
#Django用tzinfo for pub_date来实现DateTime。使用timezone.now()
#而不是面团。dateTime.now(),它将做正确的事情。
来自django.utils重要时区
Q = Question(Question_text =“什么新功能?”,pub_date = timezone.now())
#将对象保存到数据库中。您必须明确调用Save()。
问:Save
#现在它有一个ID。请注意,这可能会说“ 1”的“ 1”,具体取决于
#您使用哪个数据库。那不是大事;这只是意味着你
#数据库后端喜欢返回整数作为Python长整数
#对象。
Q.ID
1
#通过Python属性访问模型字段值。
Q.question_text
“什么是新的?”
q.pub_date
dateTime.dateTime(2012,2,26,13,0,0,0,775217,tzinfo = utc)
#Change值通过更改属性,然后调用Save()。
q.question_text =“怎么了?”
问:Save
#Objects.all()显示数据库中的所有问题。
Question.Objects.all()
[问题:问题对象]
打印所有问题时,输出的结果是[问题:问题对象]。我们可以修改模型类以使其更容易理解。修改模型类:
来自django.db导入模型
班级问题(Models.Model):
#...
def __str __(self):#__unicode__ python 2
返回self.question_text
班级选择(Models.Model):
#...
def __str __(self):#__unicode__ python 2
返回self.choice_text
继续测试:
从民意调查。模型导入问题,选择
#确保我们的__str __()加法工作。
Question.Objects.all()
[问题:怎么了?]
#Django提供了一个富含数据库的查找API,该API完全由
#关键字参数。
Question.Objects.Filter(ID = 1)
[问题:怎么了?]
Question.Objects.Filter(Question_text_Startswith ='What')
[问题:怎么了?]
#获取今年提出的问题。
来自django.utils重要时区
curren_year = timezone.now()。年
Question.Objects.get(pub_date__year = current_year)
问题:怎么了?
#请求ID,这将引起例外。
Question.Objects.get(ID = 2)
Trackback(最近的最新电话):
Em
dotNotexist:不存在问题匹配查询。
#主键查找是最合并的情况,因此Django提供了一个
#主要钥匙精确查找的快捷方式。
#跟随者与Question.objects.get(ID = 1)相同。
Question.Objects.get(PK = 1)
问题:怎么了?
#确保我们的自定义方法有效。
Q = Question.Objects.get(PK = 1)
#给出一些选择。创建呼叫构造一个新的
#选择对象,执行插入语句,将选择添加到集合
可用选择的#并返回新选择对象。Django创建
#一套持有外国关系的“另一面”
#(例如,一个问题的选择)可以通过API访问。
Q = Question.Objects.get(PK = 1)
#从相关对象集中显示任何选择 - 到目前为止无。
q.choice_set.all()
[]
#创建三个选择。
Q.CHOICE_SET.CREATE(choce_text ='不多',票数= 0)
选择:不多
Q.CHOICE_SET.CREATE(choce_text ='the Sky',投票= 0)
选择:天空
c = q.choice_set.create(choce_text ='再次黑客入侵',票数= 0)
#选择对象可以访问其相关问题对象。
C.问题
问题:怎么了?
#和VICE,反之亦然:问题对象可以访问选择对象。
q.choice_set.all()
[选择:不是泥土,选择:天空,选择:再次入侵]
q.choice_set.count()
3
#API自动食品遵循您需要的相关船。
#使用面团下划线选择相关职位。
#这是您想要的深层层次的工作。没有限制。
#找到今年Pub_date的任何问题的所有选择
#(重用我们上面创建的“ Current_Year”变量)。
choce.objects.filter(问题__pub_date__year = current_year)
[选择:不是泥土,选择:天空,选择:再次入侵]
#让我们删除其中一个选择。为此使用delete()。
c = q.choice_set.filter(choce_text__startswith ='Just Hacking')
c.delete()
以上测试涉及与Django Orm相关的知识。有关详细信息,请参阅Django中的ORM。
5.管理管理员
Django具有构建-Django Admin背景管理接口的出色特征,对于管理人员而言,它很方便地添加和删除网站的内容。
新项目系统已为我们设置了背景管理功能。请参阅mySite/settings.py:
instasted_apps =((
'django.contrib.admin',#
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'我的网站',
治愈
同时,添加了进入背景管理的URL。您可以在MySite/urls.py中查看它:
url(r'^admin/',infulude(admin.site.urls)),#可以使用SET URL进入网站的背景
接下来,我们需要创建管理用户来登录到管理背景管理接口:
$ python manage.py createSuperuse
用户名(留空白以使用“六月”):管理员
电子邮件地址:
密码:
密码(再次):
超级用户成功创建了。
总结
最后,查看项目目录结构:
我的网站
Q - db.sqlite3
e- manage.py
t - 锰矿
│_ _- __init__.py
│e ─—设置.py
│u - urURLS.PY
│s-wsgi.py
S - 民意调查
│_ _- __init__.py
│d - 管理
│i - 移民
││├├─-0001_Initial.py
││├─..__Init__.py
│o - models.py
│e - ─-模板
民意调查
││├├─detail.html
││├ - index.html
thml
│e - tests.py
│u - urURLS.PY
│i - ─视图。
L ─—模板
在─管理员
_ - base_site.htm
通过上面的介绍,我对Django的安装,操作以及如何创建视图以及如何创建视图和模型有了清晰的了解。接下来,您可以彻底了解Django的自动化测试,持久性,中间件和国际化的知识。
结论:以上是为Django在线如何编写的General CTO注释的所有内容。感谢您花时间阅读ContentDjango如何上网,不要忘记在此网站上找到它。