使用Django和Python开发Web站点

上传人:仙*** 文档编号:112584855 上传时间:2022-06-23 格式:DOC 页数:29 大小:356KB
收藏 版权申诉 举报 下载
使用Django和Python开发Web站点_第1页
第1页 / 共29页
使用Django和Python开发Web站点_第2页
第2页 / 共29页
使用Django和Python开发Web站点_第3页
第3页 / 共29页
资源描述:

《使用Django和Python开发Web站点》由会员分享,可在线阅读,更多相关《使用Django和Python开发Web站点(29页珍藏版)》请在装配图网上搜索。

1、PythonWeb1.Django1.DjangoDjango和PythonWeb1.Django1.DjangoWebP-ythonDjangoWeb1.Django1.Djangoanaeantae.oIannt1.Django1.DjangoWebDjango项目是一个定DjangoPythonWebboea1.Django1.DjangoPython装了PythonPython要安装PythonPython的版本PythonWeb站ythonDjango1.Django1.DjangoDjangoDjangoDjango框架的最新改进。,请参阅Django的WebDjango1.Dja

2、ngoownlsoavdcnsohjangoproj.cjaonmgo/jangosjan#gooenDjangoDjangojango-an.22.Djangojvan$goagdej:angoonpononoetrthgnonlani.naaatDejansgoaotruhgreapnpna要启动项目和应用程序项,请使用命令,如下所示:3.devdja$ngo-admins.tpayrtprojectdjprojectjangodjproject清单4.djproject_init_.pymanage.pysettings.pyurls.py3.3.manage.pyjosdjangoad

3、mn.pysettngs.py3.3.单5.使用manage.pystartappdevcd$djprojectdev/djpropjyetcht$onmanage.pystartappjobsjobs单6.jobs_init_.pyodels.pyiews.pyjngosettings.pyjngojproject.:jobs7. 向settings.pyngo.contrib.auth,ngo.contrib.contenttypesngo.contrib.sessions,ngo.contrib.sites,ngytnect-rmelaaptpi,erOnytnstgreS、QMLySQ

4、、iteMicrstiteiteSQL,itesetptspysl:iteeasy_instpayslqliteite8. 在settings.pyitEese.pEatoyobIoodiesppobldstyoobo9. jobs/models.pyrodmjango.dmbpomrotdeIsIaLssocation(modeIs.ModeI):=tmyodeIs.CheId(masta=tmeodeIs.CheId(macoun=tmrodyeIs.CFieId(def_str_(seIf)isfeIf.state:retur%ns%,s,%s%(seIeIse:retur%ns%,s%

5、(seIf.cIength=5nIeunIIg=tThbrI=au5nexIength=.cseIft.yst,asetIfe.,coIaJssob(modeIs.ModeIpub_da=tmoedeIs.DateFieId()job_ti=tmoIedeIs.CharFieId(maxIejob_descri=pmtodeoIns.TextFieId()IomoondeIs.Foreselangmn00manage.py的sql10. 使用manage.pysqlv/djpyptrhomojanecagte.p$ysqljobsATEABLEjobs_(jobiidntegNerOTNULP

6、LRIMpub_daatNeeOTNULL,job_vtaricthleaNrO(T5N0U)job_desctrexiNtpOtTiNoUnLlocatiiont_eigNedrOTNULegNe011.12.1=Job.objects.filter(pub1,_1)d)ate_gte=datetime(22=Job.objects.exclude(pub1,_1)d)ate_lt=datetime(202006年1月113.1,_13=Jo4=q3.116.settings.py14.Python16.settings.py16.settings.pybs.moidmeplJosrobtn

7、Job.objectsnotb5:1516.settings.py16.settings.pyntyttPythonletncountt法执行的则ango.contrib.auth,ango.contrib.contenttypesango.contrib.sessions,ango.contrib.sites,project.jobs,ango.contrib.admin,inurls.py清单17.过urls.py使用frodmjango.conf.urlism.dpoefr*taultsurlpattern=spatterns(,rdinmcilnu/de(,django.contrib

8、.admin.urls.admin)ncthmonanage.spyncano单18.使用测试服务器/dev/dpjyptrhmojnaneagcte$r.puynalidamtinogdels.errfoorusnd.angvoers0i.o9n5(post-magic-ruesminsogveatltin)g,dsjproject.settinvelopsmeerinsvtreurnniantghttp:/127.0.0.1:8000ittheserwviethCrONTROL(-UCnixor)CTRL-BRE(WAiKndowttocaot8ainin19Location19.Loca

9、tionclasLoscation1.2.2020.3.方分发系统使用了正则表达式配置模块,它可以将字符串模式映射为方法e这个系统允许与底层代码完全脱节,从而实现最大的控制和灵活性。模块被创建和定义成配置的默认起点(通过模块中的值)。配置文件的惟一要求是必须包含一个定义模式的对象。这个职位公告板应用程序会在启动时打开一个索引和一个详细视图,它们可以通过以下的映射进行访问:索引视图:显示最近的个职位详细视图:显示为的职位信息这两个视图(索引视图和详细视图)都是在这个应用程序的模块中实现的。在项目的文件中实现这种配置看起来如下所示:21.在djproject/urls.pyromdjango.co

10、nf.urls.diefmapou*rltsurlpattern=psatternsrdeludedjo.cotr.urls.adrjob_idjdprojeedt+.jo)b/sj.vi,ews.detrjob_idjdprojeedt+.jo)b/sj.vi,ews.detrjosdjprojeet.jos.es.derjos/job_dijpdrojeetd.j+ob)s./vjie,ws.detjod的URL模式,并jos的URL清单22.应用程序级的URL配urls.pyfromdjango.eonf.urls.diefmapou*rltsurlpattern=psatterns(,

11、rdjprojeet.jos.ews.index)rjob_idjdprojeedt+.jo)b/sj.vi,ews.detiedjprojectjobs.iesjanoindexdetail23.jobs/urlspyindex和detailromdjango.conf.urls.defiamulptosrt*urlpatterns=patterns(djproject.jobs.vierindexrobject_iddetaild+),/jobsURL用include的URL被绑定到下面的/jobs部24.djproject/urlspyURLromdjango.conf.urls.def

12、iamulptosrturlpatterns=patternsadminicnl/ude,(django.contrib.admin.urls.adminjoibns/e(djproject.jobs.s)janoPytoePejVT(model-view-tepeurboGonoeviewviewjojPoje问索引页(http:/loca.jobs.views.ieos/jobsyopespose/jobss.pyviewspy单25.jobs/views.py(v1)rodmjango.utils.htimtppowrrHtatptppersesponseefindex(request)

13、:retuHrtntpResponseI(nJdVoebxiew)26.jobs/views.py(v2)odmjango.temimpploraCoentelxota,odmjangoi.mhptorHptttpResponseojmobs.modelimsporJtobodmjango.temimpploraCtoentelxota,odmjangoi.mhptorHptttpResponseojmobs.modelimsporJtobefindex(request):object_=Jisotb.objects.order_by(-pub_date):t=loader.get_templ

14、ate(jobs/job_list.html)c=Context(objet_obljeicst_:list)retuHrtntpResponse(t.render(c)jobs/job_lisobjeisesponseesposeobjeobeb27.jobs/views.py(v3)rodmjango.shoirmtpocrgutets_object_roren_d4e0r4_,to_responserojmobs.modelimsporJtobefindex(request):object=lJisotb.objects.order_by(-pub_date):1returrender_

15、to_response(jobs/job_list.html,objecto_bjlecist_l:ist)efdetail(reoqbjeucetst_,id):job=get_object_or_pk4=0o4bj(ecotb,_id)returrender_to_response(jobs/job_detail.htmlobjejcobt)iobjeijobss.py/jobs/Pget_objectojobs/job_lisjobs/jobangvariablesangtagstemplates为了简便起见,我们需要在djpsettings.py的TEMPLATE_28.在settin

16、gs.pytemplates/path/to/deproject/templates/angtemplateinheitanetitle、extraheantent单29.档templates/base.html!DOCThYtmPlPEUBLI-C/W3C/DXTHDTM1L.0Transitional/ENhttp:/www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.htmxlmlns=http:/www.w3.org/x1m99l9:/xlanhtgm=llaenng=enCompSanitye:%bloctkitle%Pageen%dbloc%k

17、blockextrahe%ablo%blockconte%nte%ndblo/html取消应用程序与项目之间的耦合,我们使用了一个中间基本文件作为Job文件中。在实际的应用程序中,需要有一个正确配置的Web服务器,将这来,并将其放到Web服务器所服务的静态文件中。单30.中间基础文件templates/jobs/base.htmlextendsbase.html%blockextrahe%adbodyfont-stayrlei:al;h1text-alicgent:e.job.titlefont-s1iz2e0:%font-weibgolhdt.job.postedfont-stiytalie

18、c:;/styledblocjaojaoeb现在我们要创建视图所加载并呈现的两个页面模板。jobs/job_list.htmlobject_lis,t它通过索引视图遍历其内容,并显示一个到每条记录的详细31. templates/jobs/job_list.htmlextendsjobs/base.htm%lblocktitle%JLobist%endbloblockconte%nth1Lobistjob.job_title/lijobhraef=job.id%endf%orendbloc%kjobs/job_detail.html32. templates/jobs/job_detail.h

19、tmlextendsjobs/baseblocktitle%JDobetail%endbloblockconte%ntJDoebtaildivclass=titlejob.job_title模板语言已经被设计为只能实现有限的功能。这种限制可以为非程序员保持模板的简单性,同时还可以让程序员不会将业务逻辑放到不属于自己的地方,即表示层。提供了种通用视图(),它们可以让开发人员创建遵循典型模式的应用程序:页面列表/详细页面(与上面的例子类似)基于数据的记录分类(对于新闻或站点非常有用)对象的创建、更新和删除()简单直接的模板表示或简单地对重新进行定向我们没有创建样板视图方法,而是将所有的业务逻辑都放

20、入了文件中,它们都由提供的通用视图进行处理。33. jobs/urls.pyromdjango.conf.urlsi.dmepof*rtaultsromjobs.modeilsmpoJrtobo_=dictqueryJseobt.obj:ects.allurIpatt=eprantsterns(jdjango.views.generic.Iist_detaiIrobjcti_nIifsot_jd,icrobjecjto_bjiedcef)to/a$_ijdI,ijurIs.py文件中的3个主要变oob它使用了django.visrIsjproj.jobs.真正的视图调用是objecIobj。ejaiIobj模式:app_la/mbeodlel_n_alimste.h(tjombsl/job_list.etai(lj.ohbst/jomb_ldetail.html)objIsobjby

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!