发布网友 发布时间:2024-09-25 16:47
共1个回答
热心网友 时间:2024-10-04 12:32
本篇文章首席CTO笔记来给大家介绍有关django包怎么用以及django菜鸟教程的相关内容,希望对大家有所帮助,一起来看看吧。
本文目录一览:1、Django框架是什么?2、djangorestframework中文介绍3、如何在阿里云上部署djangoDjango框架是什么?Django是基于Python的免费和开放源代码Web框架,它遵循模型-模板-视图(MTV)体系结构模式。它由DjangoSoftwareFoundation(DSF)维护,这是一个由非营利组织成立的独立组织。
Django的主要目标是简化复杂的,数据库驱动的网站的创建。该框架强调组件的可重用性和“可插入性”,更少的代码,低耦合,快速开发以及不重复自己的原则。整个过程都使用Python,甚至用于设置文件和数据模型。Django还提供了一个可选的管理创建,读取,更新和删除界面,该界面通过自省动态生成并通过管理模型进行配置。
一些使用Django的知名网站包括公共广播服务,Instagram,Mozilla,华盛顿时报,Disqus,Bitbucket,和Nextdoor。
Django创建于2003年秋天,当时《劳伦斯日报》世界报纸的网络程序员AdrianHolovaty和SimonWillison开始使用Python来构建应用程序。西蒙·威利森(SimonWillison)的实习期结束前不久,雅各布·卡普兰·莫斯(JacobKaplan-Moss)在Django的发展中就被聘用了。它于2005年7月在BSD许可下公开发布。该框架以吉他手DjangoReinhardt的名字命名。2008年6月,宣布新成立的Django软件基金会(DSF)将来将维护Django。
2015年7月,与一些Django联合创始人和开发人员建立联系的软件咨询公司RevolutionSystems在劳伦斯举办了10周年纪念活动。
Django的设计理念如下:
松耦合——Django的目标是使堆栈中的每个元素彼此独立。
更少的编码——更少的代码,因此可以快速开发。
不重复自己(DRY)——一切都应该只在一个地方开发,而不是一次又一次地重复。
快速开发——Django的理念是尽一切可能促进超快速开发。
简洁的设计——Django严格按照自己的代码维护简洁的设计,并易于遵循最佳的Web开发实践。
Django的一些优势如下:
对象关系映射(ORM)支持——Django在数据模型和数据库引擎之间建立了桥梁,并支持包括MySQL,Oracle,Postgres等在内的大量数据库系统。
多语言支持——Django通过其内置的国际化系统支持多语言网站。因此,您可以开发支持多种语言的网站。
框架支持——Django内置了对Ajax,RSS,缓存和其他各种框架的支持。
GUI——Django为管理活动提供了一个很好的即用型用户界面。
开发环境——Django带有轻量级的Web服务器,以促进端到端应用程序的开发和测试。
Django是PythonWeb框架。和大多数现代框架一样,Django支持MVC模式。
关于Python的基础问题可以看下这个网页的视频教程,网页链接,希望我的回答能帮到你。
djangorestframework中文介绍注意:这是版本3的文档。还提供了版本2的文档。
DjangoRESTframework是一个强大且灵活的工具包,用以构建WebAPIs。
为什么要使用RESTframework?
RESTframeworkisacollaboratively(合作地)fundedproject(基金项目).IfyouuseRESTframeworkcommercially(商业化的)westrongly(强烈)encourage(建议)youtoinvest(投资)initscontinueddevelopment(可持续发展)bysigningupforapaidplan.(注册付费计划)
Everysingle(每次简单)sign-uphelpsusmakeRESTframeworklong-termfinancially(财政上)sustainable(财务上可持续发展)
Manythankstoallourwonderfulsponsors(赞助商),andinparticulartoourpremiumbackers(优质的支持者),Rover,Sentry,Stream,Machinalis,andRollbar.
(非常感谢我们所有的优秀赞助商,特别是我们的优秀支持者,Rover,Sentry,Stream,Machinalis,andRollbar.
)
RESTframework有以下的要求:
Python(2.7,3.2,3.3,3.4,3.5,3.6)
Django(1.7+,1.8,1.9,,2.0)
下面是可选的包:
Installusingpip,includinganyoptionalpackagesyouwant...(使用pip安装,包括任何你想要的可选包裹...)
...orclonetheprojectfromgithub.(或者从GitHub复制项目)
Add'rest_framework'toyourINSTALLED_APPSsetting.
Ifyou'reintendingtousethebrowsableAPIyou'llprobablyalsowanttoaddRESTframework'sloginandlogoutviews.Addthefollowingtoyourrooturls.pyfile.(如果您打算使用可浏览的API,您可能还需要添加REST框架的登录和注销视图。将以下内容添加到您的根urls.py文件中。)
NotethattheURLpathcanbewhateveryouwant.(注意,url路径可以是任何你想要的。)
Let'stakealookataquickexampleofusingRESTframeworktobuildasimplemodel-backedAPI.让我们来看看一个使用RESTframework构建一个简单模型支持api的快速示例。
We'llcreatearead-writeAPIforaccessinginformationontheusersofourproject.(我们将创建一个读写api,用于访问项目用户的信息。)
AnyglobalsettingsforaRESTframeworkAPIarekeptinasingleconfigurationdictionarynamedREST_FRAMEWORK.Startoffbyaddingthefollowingtoyoursettings.pymodule:(RESTframeworkapi的任何全局设置都保存在一个名为“rest_wramework”的配置词典中。首先在“环境”模块中添加以下内容:)
Don'tforgettomakesureyou'vealsoaddedrest_frameworktoyourINSTALLED_APPS.(别忘了确保你已经在“INSTALLED_APPS”中添加了“rest_framework”。)
We'rereadytocreateourAPInow.Here'sourproject'srooturls.pymodule:(我们准备好创建我们的api了。这是我们项目的根源urls.py模块:)
YoucannowopentheAPIinyourbrowserat,andviewyournew'users'API.Ifyouusethelogincontrolinthetoprightcorneryou'llalsobeabletoadd,createanddeleteusersfromthesystem.(现在,您可以在浏览器中输入‘’打开api,并查看您的新“用户”api。如果您使用右上角的登录控件,您也可以从系统中添加、创建和删除用户。)
Can'twaittogetstarted?Thequickstartguideisthefastestwaytogetupandrunning,andbuildingAPIswithRESTframework.(等不及要开始了?快速启动指南是最快的建立和运行的方式,并建立RESTframework的apis。)
ThetutorialwillwalkyouthroughthebuildingblocksthatmakeupRESTframework.It'lltakealittlewhiletogetthrough,butit'llgiveyouacomprehensiveunderstandingofhoweverythingfitstogether,andishighlyrecommendedreading.(本教程将帮助您完成组成REST框架的构建块。这需要一点时间来完成,但是它会给你一个全面的理解如何把一切结合起来,并强烈推荐阅读。)
ThereisaliveexampleAPIofthefinishedtutorialAPIfortestingpurposes,availablehere.这里有一个用于测试目的的完成教程API的实例化API,这里可获得
TheAPIguideisyourcompletereferencemanualtoallthefunctionalityprovidedbyRESTframework.(API指南是您对REST框架提供的所有功能的完整参考手册)
GeneralguidestousingRESTframework.(使用REST框架的一般指南。)
SeetheContributionguidelinesforinformationonhowtoclonetherepository,runthetestsuiteandcontributechangesbacktoRESTFramework.(有关如何克隆存储库、运行测试套件以及向REST框架贡献更改的信息,请参阅贡献指南。)
ForsupportpleaseseetheRESTframeworkdiscussiongroup,trythe#restframeworkchannelonirc.freenode.net,searchtheIRCarchives,orraiseaquestiononStackOverflow,makingsuretoincludethe'django-rest-framework'tag.(要获得支持,请参阅REST框架讨论组,在IRC.freenode.net上尝试#restframework通道,搜索IRC档案,或者对StackOverflow提出问题,确保包含“django-rest-framework”标签。)
Forprioritysupportpleasesignupforaprofessionalorpremiumsponsorshipplan.(如需优先支持,请注册专业或优质赞助计划。)
ForupdatesonRESTframeworkdevelopment,youmayalsowanttofollowtheauthoronTwitter.(对于REST框架开发的更新,您可能还希望在Twitter上跟随作者。)
Follow@_tomchristie
Ifyoubelieveyou’vefoundsomethinginDjangoRESTframeworkwhichhassecurityimplications,pleasedonotraisetheissueinapublicforum.
Sendadescriptionoftheissueviaemailtorest-framework-security@googlegroups.com.Theprojectmaintainerswillthenworkwithyoutoresolveanyissueswhererequired,priortoanypublicdisclosure.
Copyright(c)2011-2017,TomChristieAllrightsreserved.
Redistributionanduseinsourceandbinaryforms,withorwithoutmodification,arepermittedprovidedthatthefollowingconditionsaremet:
Redistributionsofsourcecodemustretaintheabovecopyrightnotice,thislistofconditionsandthefollowingdisclaimer.Redistributionsinbinaryformmustreproducetheabovecopyrightnotice,thislistofconditionsandthefollowingdisclaimerinthedocumentationand/orothermaterialsprovidedwiththedistribution.
THISSOFTWAREISPROVIDEDBYTHECOPYRIGHTHOLDERSANDCONTRIBUTORS"ASIS"ANDANYEXPRESSORIMPLIEDWARRANTIES,INCLUDING,BUTNOTLIMITEDTO,THEIMPLIEDWARRANTIESOFMERCHANTABILITYANDFITNESSFORAPARTICULARPURPOSEAREDISCLAIMED.INNOEVENTSHALLTHECOPYRIGHTHOLDERORCONTRIBUTORSBELIABLEFORANYDIRECT,INDIRECT,INCIDENTAL,SPECIAL,EXEMPLARY,ORCONSEQUENTIALDAMAGES(INCLUDING,BUTNOTLIMITEDTO,PROCUREMENTOFSUBSTITUTEGOODSORSERVICES;LOSSOFUSE,DATA,ORPROFITS;ORBUSINESSINTERRUPTION)HOWEVERCAUSEDANDONANYTHEORYOFLIABILITY,WHETHERINCONTRACT,STRICTLIABILITY,ORTORT(INCLUDINGNEGLIGENCEOROTHERWISE)ARISINGINANYWAYOUTOFTHEUSEOFTHISSOFTWARE,EVENIFADVISEDOFTHEPOSSIBILITYOFSUCHDAMAGE.
如何在阿里云上部署django
前提条件
1.为Python应用程序安装virtualenv和virtualenvwrapper,目的在于为Python项目创建独立的环境。
●安装pip
sudoapt-getinstallpython-pip
●安装virtualenv
sudopipinstallvirtualenv
●创建目录以存储您的virtualenv
mkdir~/.virtualenvs
●安装virtualenwrapper
sudopipinstallvirtualenvwrapper
●将WORKON_HOME设置为您的virtualenv目录
导出WORKON_HOME=~/.virtualenvs
●将WORKON_HOME设置为您的virtualenv目录
导出WORKON_HOME=~/.virtualenvs
●将?virtualenvwrapper.sh?添加到?.bashrc
将此行添加到~/.bashrc的末尾,以便加载virtualenvwrapper命令。/usr/local/bin/virtualenvwrapper.sh
退出,然后重新打开您的shell,或者使用?.bashrcorsource~/.bashrc?命令重新加载.bashrc,然后一切准备就绪。
2.安装git。
apt-getinstallgit
3.安装Nginx作为Web服务器,这样您便可在其之后运行您的应用程序。
Sudoapt-getinstallnginx
启动您的第一个Linux实例
接下来向您介绍使用阿里云管理控制台运行ECS实例的相关步骤。
1.登录到您的帐户,然后导航到“产品与服务”部分下的“云服务器”。单击侧边栏菜单中的概览。这会显示运行中的实例列表。单击购买实例从任意地域购买实例,或者继续到下一步创建新实例。
2.单击侧边栏菜单中的实例。在实例列表中选择所需地域,然后单击右上方栏中的创建实例。
3.系统会将您重新定向到“产品购买”控制台,在此您需要选择偏好的资源包-对ECS实例和数据传输提供特殊定价的初级资源包或提供两种定价模式的高级购买资源包。您可以根据自身需求选择订阅(按月或按年)或者按量付费。此案例中,我们选择了“按量付费”。
4.在此窗口中,选择要在其中启动ECS实例的数据中心地域和可用性区域。如果选择了地域但未选择可用性区域,系统会将实例随机放在任何区域。
5.现在您需要选择自己想要创建的实例类型。根据自身需求,从“生成”选项卡中选择生成实例类型。生成类型根据配置和所用的计算能力表示不同的实例类型。
6.接下来,选择网络类型以启动您的ECS实例。可根据自身需求选择经典网络或专有网络。在经典网络中,阿里云以分布式方式分配IP地址。它适合于需要简单快速地使用ECS的用户。专有网络更多的是一种逻辑隔离私有网络,它支持专用连接。它适合于熟悉网络管理的用户。选择适当的网络类型后,选择网络计费类型:数据传输或固定带宽。在这两种情况下,您都需要设置网络带宽峰值(最大数据传输速率)。
7.现在,您需要选择操作系统。每个选项下都提供了不同操作系统版本的列表。选择Ubuntu。
8.根据自身需要,从下拉菜单中选择系统磁盘类型。您还可以通过单击“添加磁盘”向此列表添加更多磁盘。
9.在“安全设置”部分中,您可以创建密码以提高安全性,或者在此阶段跳过此步骤并稍后从管理控制台执行此操作。
10.在“采购计划”部分中,键入您的实例名称并设置要启动的实例的数量。
11.在“概览”部分查看配置详情和总价,然后单击立即购买。
12.单击开通确认业务订单并启动实例。
13.启动实例后,您可以在控制台的实例选项卡中查看该实例。
安装和部署Django应用程序
您已使用阿里云管理控制台创建和启动ECS实例,接下来让我们了解如何安装和部署Django应用程序。
1.使用ssh命令登录到您的服务器
2.输入密码
3.通过创建一个新的virtualenv为部署Django应用程序设置环境:
mkvirtualenvDjangoApp
要退出新的virtualenv,请使用deactivate。
您可以使用workon在环境之间切换。要加载或在virtualenv之间切换,请使用workon命令:workonDjangoApp
4.在您的当前环境中安装Django
pipinstallDjango
5.使用django-admin命令创建样本项目并将目录更改为项目文件夹。
django-adminstartprojecttodoApp
cdtodoApp/
6.迁移或引导您的数据库。
pythonmanage.pymigrate
7.创建超级用户以访问管理面板。
pythonmanage.pycreatesuperuser
8.设置用户后,通过运行由manage.py操作的runserver命令测试您的应用程序
pythonmanage.pyrunserver0.0.0.0:8000
您将看到以下内容在端口8000上运行
转至/admin,这是您的管理面板,您可在此管理应用程序。
现在使用Nginx将您的应用程序置于Web服务器之后。
9.创建数据库架构开通python环境。
●将目录更改为Django项目目录
●运行以下命令
pythonmanage.pymigrate
10.收集所有静态文件(css、js等)
●运行以下命令以在任意特定位置收集所有静态文件
Pythonmanage.pycollectstatic--noinput
●开发人员负责将STATIC_URL路径设置为将收集所有静态文件的位置。
●这些变量在项目目录内的setting.py中定义。
1.STATIC_URL
2.STATICFILES_DIRS
3.STATIC_ROOT
11.使用uwsgi服务器安装uwsgi库并启动服务器。
pipinstalluWSGI
●创建用于部署Django应用程序的ini文件vimuwsgi.ini
●将其保存到应用程序目录上的uwsgi.ini。如需进一步了解如何编写ini文件,请参阅?Python/WSGI应用程序快速入门。运行此命令以启动您的应用程序。
uwsgiuwsgi.ini(您的ini文件)
12.更改nginx配置文件以用于应用程序。
server?{???listen80default_server;????listen[::]:80default_serveripv6only=on;????server_namelocalhost;?location/static/?{????includeuwsgi_params;????alias/root/todoApp/public/;?}?location?/??{????includeuwsgi_params;????uwsgi_passunix:/tmp/uwsgi.sock;??}}
13.重启nginx,随后您的应用程序将启动并在端