使用Django和Python开发Web站点_第1页
使用Django和Python开发Web站点_第2页
使用Django和Python开发Web站点_第3页
使用Django和Python开发Web站点_第4页
使用Django和Python开发Web站点_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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.pystartappjobsytonytonjobsytonytonytonyton单6.jobs_init_.pyodels.pyiews.pyytonytonytonytonjngoytonytonytonytonsettings.pyjngojproject.:jobs向settings.pyngo.contrib.auth,ngo.contrib.contenttypesngo.contrib.sessions,ngo.c

4、ontrib.sites,ngytnect-rmelaaptpi,erOnytnstgreS、QMLySQ、iteMicrstiteiteSQL,itesetptspysl:iteeasy_instpayslqliteite在settings.pyitEese.pEatytonytonoyobIoodiesppobldstyooboytonytonytonytonjobs/models.pyrodmjango.dmbpomrotdeIsIaLssocation(modeIs.ModeI):=tmyodeIs.CheId(masta=tmeodeIs.CheId(macoun=tmrodyeIs

5、.CFieId(def_str_(seIf)isfeIf.state:retur%ns%,s,%s%(seIeIse:retur%ns%,s%(seIf.cIength=5nIeunIIg=tThbrI=au5nexIength=.cseIft.yst,asetIfe.,coIaJssob(modeIs.ModeIpub_da=tmoedeIs.DateFieId()job_ti=tmoIedeIs.CharFieId(maxIejob_descri=pmtodeoIns.TextFieId()ytonytonytonytonIomoondeIs.Fore0ytonytonselangmn0y

6、tonyton0ytonytonmanage.py的sql使用manage.pysqlv/djpyptrhomojanecagte.p$ysqljobsATEABLEjobs_(jobiidntegNerOTNULPLRIMpub_daatNeeOTNULL,job_vtaricthleaNrO(T5N0U)job_desctrexiNtpOtTiNoUnLlocatiiont_eigNedrOTNULegNe11.ytonyton12.1ytonyton1=Job.objects.filter(pub1,_1)d)ate_gte=datetime(22=Job.objects.exclude

7、(pub1,_1)d)ate_lt=datetime(202006年1月113.1,_13=Jo4=q3.16.settings.pyngo.contPP14.Python16.settings.pyngo.contPP16.settings.pyngo.contPPbs.moidmeplJosrobtnJob.objectsnotb5:1516.settings.pyngo.contPP16.settings.pyngo.contPPntyttPythonletncountt法执行的则ango.contrib.auth,ango.contrib.contenttypesango.contri

8、b.sessions,ango.contrib.sites,,ango.contrib.admin,inurls.py清单17.过urls.py使用frodmjango.conf.urlism.dpoefr*taultsurlpattern=spatterns(,rdinmcilnu/de(,django.contrib.admin.urls.admin)ngo.contPPncthmonanage.spyncano单18.使用测试服务器/dev/dpjyptrhmojnaneagcte$r.puynalidamtinogdels.errfoorusnd.angvoer

9、s0i.o9n5(post-magic-ruesminsogveatltin)g,dsjproject.settinvelopsmeerinsvtreurnniantghttp:/:8000ittheserwviethCrONTROL(-UCnixor)CTRL-BRE(WAiKndowttocaot8aininngo.contPPngo.contPP19Location19.LocationclasLoscation .ngo.contPP1. .ngo.contPP2020.rjob_idjdprojeedt+.jo)b/sj.vi,ews.det方分发系统使用了正则表达式配置模块,它可以

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

11、djo.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(,rdjprojeet.jos.ews.index)iedjprojectjobs.iesjanoi

12、/urlspyindex和detailromdjango.conf.urls.defiamulptosrt*urlpatterns=patterns(.vierindexrobject_iddetaild+),/jobsURL用include的URL被绑定到下面的/jobs部24.djproject/urlspyURLromdjango.conf.urls.defiamulptosrturlpatterns=patternsadminicnl/ude,(django.contrib.admin.urls.adminjoibns/e(.s)janoPytoePe

13、jVT(model-view-tepeurboGonoeviewviewjojPoje问索引页( HYPERLINK http:/loca.views.ieos/jobsyopespose/jobss.pyviewspy单25.jobs/views.py(v1)rodmjango.utils.htimtppowrrHtatptppersesponseefindex(request):retuHrtntpResponseI(nJdVoebxiew)26.jobs/views.py(v2)odmjango.temimpploraCoentelxota,odmjango

14、i.mhptorHptttpResponseojmobs.modelimsporJtobodmjango.temimpploraCtoentelxota,odmjangoi.mhptorHptttpResponseojmobs.modelimsporJtobefindex(request):object_=Jisotb.objects.order_by(-pub_date):t=loader.get_template(jobs/job_list.html)c=Context(objet_obljeicst_:list)retuHrtntpResponse(t.render(c)jobs/job

15、_/views.py(v3)rodmjango.shoirmtpocrgutets_object_roren_d4e0r4_,to_responserojmobs.modelimsporJtobefindex(request):object=lJisotb.objects.order_by(-pub_date):1returrender_to_response(jobs/job_list.html,objecto_bjlecist_l:ist)efdetail(reoqbjeucetst_,id):job=get_obj

16、ect_or_pk4=0o4bj(ecotb,_id)returrender_to_response(jobs/job_detail.htmlobjejcobt)iobjeijobss.py/jobs/Pget_objectojobs/job_lisjobs/jobangvariablesangtagstemplates为了简便起见,我们需要在djpsettings.py的TEMPLATE_28.在settings.pytemplates/path/to/deproject/templates/angtemplateinheitanetitle、extraheantent单29.档templa

17、tes/base.html!DOCThYtmPlPEUBLI-C/W3C/DXTHDTM1L.0Transitional/EN HYPERLINK http:/w/TR/xhtml1/DTD/xhtml1-transitional.htmxlmlns= HYPERLINK http:/whttp:/w/x1m99l9:/xlanhtgm=llaenng=enCompSanitye:%bloctkitle%Pageen%dbloc%kblockextrahe%ablo%blockconte%nte%ndblo/html取消应用程序与项目之间的耦合,我们使用了一个中

18、间基本文件作为Job文件中。在实际的应用程序中,需要有一个正确配置的Web服务器,将这来,并将其放到Web服务器所服务的静态文件中。单30.中间基础文件templates/jobs/base.htmlextendsbase.html%blockextrahe%adbodyfont-stayrlei:al;h1text-alicgent:e.job.titlefont-s1iz2e0:%font-weibgolhdt.job.postedfont-stiytaliec:;/styledblocjaojaoeb现在我们要创建视图所加载并呈现的两个页面模板。jobs/job_list.htmlobject_lis,t它通过索引视图遍历其内容,并显示一个到每条记录的详细templates/jobs/job_list.htmlextendsjobs/base.htm%lblocktitle%JLobist%endbloblockconte%nth1Lobistjob.job_title/lijobhraef=job.id%endf%orendbloc%kjobs/job_detail.htmltemplates/jobs/job_detail.htmlextendsjobs/baseblocktitle%JDobetail%endbloblockconte%ntJDo

温馨提示

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

评论

0/150

提交评论