热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:Django01

鏍囩锛?ahref=http://www.mamicode.com/so/1/o

鏍囩锛?a href='http://www.mamicode.com/so/1/object' title='object'>object   --   瀹屾垚   璁块棶   htm   version   user   鎵€鍦ㄥ湴   djang   

Django妯″潡浣跨敤鏂规硶锛?span class="md-softbreak"> 1.鍏堜笅杞紻jango妯″潡锛?span class="md-softbreak"> 1.鍦ㄨ缃噷闈笅杞斤細 file-->settings-->project-->project interpreter-->鎼滅储Django ps:鍕鹃€塻pecify version 閫夐」閫夋嫨闇€瑕佸畨瑁呯殑Django鐗堟湰锛堟湰鐫€涓嶅畨瑁呮渶鏂扮増鏈殑鍘熷垯閫夋嫨1.11.11锛屾渶鏂扮増涓?.1锛?span class="md-softbreak"> 2.鍛戒护琛屼笅杞?span class="md-softbreak"> pip3 install django==1.11.11 楠岃瘉鏄惁瀹夎鎴愬姛浣跨敤鍛戒护锛?span class="md-softbreak"> Django-admin 2.鍒涘缓Django椤圭洰锛?span class="md-softbreak"> 1.鍛戒护琛岋細 Django-admin startproject 椤圭洰鍚嶇О 瀹屾垚鍚庡埛鏂板悗鍑虹幇锛?span class="md-softbreak"> init.py settings.py 鐢ㄦ埛鍙互杩涜閰嶇疆鐨勯厤缃枃浠?span class="md-softbreak"> urls.py wsgi.py manage.py 2. 鍙洿鎺ヤ娇鐢╬ycharm鍒涘缓Django椤圭洰 ps锛氫娇鐢ㄥ懡浠よ鍒涘缓椤圭洰鏄笉浼氳嚜鍔ㄧ┛浠秚emplates鏂囦欢澶癸紝涔熷氨鎰忓懗杩欐垜浠渶瑕佹墜鍔ㄥ湪閰嶇疆鏂囦欢涓皢杩欎釜璺緞 娣诲姞涓婏紝浣跨敤pycharm鍒欎笉闇€瑕?templates鏂囦欢閲岄潰閮芥槸html鏂囦欢

3.鍒涘缓app
鍛戒护琛岋細
绗竴绉?br /> django-admin startapp app鍚嶅瓧
绗簩绉?br /> python3 manag.py startapp app鍚嶅瓧
app鏂囦欢锛?br /> migrations鏂囦欢澶?span class="cm-tab"> 鏁版嵁搴撶殑鎿嶄綔璁板綍
__init__.py
apps.py 娉ㄥ唽APP鐩稿叧鏂囦欢
admin.py Django鍚庡彴绠$悊鐩稿叧
models.py orm妯″潡鐩稿叧鐨刾y鏂囦欢
views.py 瑙嗗浘鍑芥暟鐩稿叧鐨刾y鏂囦欢
tests.py 璋冭瘯鐩稿叧鐨刾y鏂囦欢

ps锛氬垱寤烘柊鐨刟pp涓€瀹氭槸闇€瑕佸湪settings涓殑INSTALLED_APPS鏂规硶娉ㄥ唽
娉ㄥ唽鏈変袱绉嶅啓娉曪細
1.‘app01’锛坅pp鍚嶇О锛?br /> 2."app01.apps.AppConfig"(app01鏄痑pp鍚嶇О)

  app鐨勬蹇碉細
          Django鐨勯」鐩氨褰撳仛涓€鐗囧湡鍦帮紝app灏辨槸鍦ㄥ湡鍦颁笂闈㈡墍寤虹珛鐨勫ぇ妤硷紝姣忎釜澶фゼ涔嬮棿閮芥湁鑷繁鐨勭嫭鏈夊姛鑳?br />?
4.鍚姩Django椤圭洰锛?br />?
python3 manage.py runserver django鐨勯粯璁ょ鍙e彿涓?000
5.Django蹇呴』鎺屾彙鐨勪笁涓柟娉曚篃灏辨槸涓変釜鍗曡瘝锛?br />   HttpRespomse       杩斿洖瀛楃涓?br />   render               杩斿洖鐨勬槸html椤甸潰
  redirect             杩斿洖鐨勬槸閲嶅畾鍚?br />    
6.闈欐€佹枃浠讹細
  1.棣栧厛鎴戜滑闇€瑕佹槑鐧界殑鏄紝html鏂囦欢榛樿閮藉湪templates鏂囦欢澶逛笅闈?br />   2.闈欐€佹枃浠讹細瀵逛簬宸茬粡鍐欏ソ鐨勬枃浠舵垜浠笉闇€瑕佽嚜宸卞啓鐨勬枃浠讹紝涔熷氨鏄嬁鏉ュ嵆鐢ㄧ殑閭d簺鏂囦欢锛屾垜浠О涔嬩负“闈欐€佹枃浠?rdquo;
      绫讳技浜庯細
          bootstrap 涔嬬被鐨勫墠绔鏋讹紝杩欎簺鏄凡缁忓啓濂界殑
          鍥剧墖
          js
          css
      闈欐€佹枃浠舵垜浠細榛樿鍒涘缓涓€涓悕涓簊tatic鐨勬枃浠跺す
          ststic鏂囦欢澶逛腑鎴戜滑浼氶粯璁ゅ垱寤虹殑瀛愭枃澶癸細
              css鏂囦欢澶?br />               js鏂囦欢澶?br />               img鏂囦欢澶?br />               鍏朵粬锛堝墠绔殑妗嗘灦浠g爜锛岀涓夋柟鐨勬彃浠剁瓑绛夛級
  `3.闈欐€佹枃浠剁殑閰嶇疆锛?br />       STATICFILES_DIRS = [
              os.path.join(BASE_DIR,鈥榮tatic鈥?
      ]
     
  `4.璁块棶闈欐€佹枃浠朵腑鐨勮祫婧愶細
          STATIC_URL = 鈥?static/鈥?            杩欎釜鏃跺€欒繖涓猻tatic灏变笉鏄枃浠跺す鐨勫悕瀛楄€屾槸鎺ュ彛鐨勫墠缂€锛屼篃灏辨槸璇村彧瑕佹兂璁块棶闈欐€佹枃浠堕噷闈㈢殑璧勬簮灏卞繀椤诲姞杩欎釜鍓嶇紑
    鍥犱负鐢ㄦ埛鍙互璁块棶鍒扮殑璧勬簮閮芥槸鍦╱rl涓紝鍙湁url涓瀹氱浉鍏崇殑璧勬簮鐢ㄦ埛鎵嶈兘璁块棶鍒帮紝鎵€浠ヨ锛岀敤鎴疯兘鎺ユ敹鍒颁粈涔堟牱鐨勮祫婧愰兘鏄渶瑕佽缃殑
     
      鍔ㄦ€佽В鏋愰潤鎬佹枃浠舵帴鍙?鍒╃敤瑙f瀽鍣?鍔ㄦ€佽幏鍙栨帴鍙e墠缂€)锛?br />           {%load static%}
         

 

7.form琛ㄥ崟鎻愪氦鏁版嵁鐨勭洰鐨勫湴锛屼篃灏辨槸閫掍氦鏁版嵁鐨勫湴鍧€锛?br />       1.form閫掍氦鏁版嵁鐨勫湴鍧€action鏉ユ帶鍒?br />       2.涓夌濉啓鎯呭喌:
          1:涓嶅啓鐨勬儏鍐?-->榛樿鍚戞湰鍦板湴鍧€鎻愪氦
          2.鍙啓鍚庣紑/index/----> 鍍忔湰椤圭洰鐨勯〉闈㈡墍鍦ㄥ湴鍧€娣诲姞
          3.杩樺彲浠ュ啓鍏ㄨ矾寰?br /> 8.瑙嗗浘鍑芥暟涓€鑸細棣栧厛澶勭悊get璇锋眰锛?br />     瀹炰緥锛?br />           def login(request):
              if request.method == "POST": # 浣跨敤request鐐规柟娉曡幏鍙栨槸鎻愪氦杩樻槸鑾峰彇
                  return HttpRespomse("浣庝环濂ョ壒姣?) # 濡傛灉鏃堕€掍氦鍙互鍋氬叾浠栫殑鍝嶅簲鎿嶄綔
              return render(request,鈥榣ogin.html鈥? # 濡傛灉鏄幏鍙栬繑璐у鎴烽渶瑕佺殑椤甸潰鍜屾暟鎹€?/span>

 

9. 鑾峰彇鍓嶇鏁版嵁锛?br />       1.request.method鑾峰彇璇锋眰鐨勬柟娉?br />       2.鏁版嵁鐨勫鐞嗭細
          ps锛氬鏁版嵁鐨勫鐞嗕笉鍏夋湁wsgiref妯″潡锛屾垜浠殑Django鍚庣涔熻繘琛屼簡鏁版嵁鐨勫鐞?br />            
          1.GET鏂规硶锛?br />                   request.GET鏂规硶锛氬彲浠ヨ幏鍙栧墠绔痝et鎻愪氦鍒板悗绔殑鏁版嵁锛堣幏鍙栧埌鐨勬暟鎹被浼间竴涓ぇ瀛楀吀锛?br />                   request.GET.get锛?lsquo;閿?rsquo;锛夎櫧鐒秜alue鏄竴涓垪琛?浣嗘槸榛樿鍙彇鍒楄〃鏈€鍚庝竴涓厓绱?br />                   request.GET.getlist(鈥榟obby鈥? 鍙互鍚у垪琛ㄧ殑鏁版嵁鍏ㄩ儴鍙栧嚭
            2.post
                  request.POST鑾峰彇鍓嶇鎻愪氦鐨刾ost鏁版嵁锛堜篃绫讳技涓€涓ぇ瀛楀吀锛?br />                   鍙栧€硷細
                        request.POST.get锛?lsquo;閿?rsquo;锛夎櫧鐒秜alue鏄竴涓垪琛?浣嗘槸榛樿鍙彇鍒楄〃鏈€鍚庝竴涓厓绱?br />                         request.POST.getlist(鈥榟obby鈥? 鍙互鍚у垪琛ㄧ殑鏁版嵁鍏ㄩ儴鍙栧嚭
                  涓嶈繃涓嶅缓璁娇鐢ㄦ嫭鍙风殑鏂瑰紡鑾峰彇鏁版嵁锛屽洜涓哄鏋滄病鏈夋暟鎹細鎶ラ敊鐨?br /> 10.Django榛樿浣跨敤鐨勬暟鎹簱鏄嚜甯︾殑sqlite鏁版嵁搴擄紝濡傛灉瑕佽窡鎹㈡暟鎹簱闇€瑕佸湪srttings閰嶇疆鏂囦欢涓厤缃細
  1.鍦╯ettings鏂囦欢涓厤缃?br />           DATABASES = {
              default:{
              鈥楨HGINE鈥?鈥榙jango.db.backends.mysql鈥?
              鈥楴AME鈥? 鈥榙ay51鈥?
              鈥楬OST鈥?鈥?27.0.0.1鈥?
              鈥楶ORT鈥?3306,
              鈥楿SER鈥?鈥榬oot鈥?
              鈥楶ASSWORD鈥?鈥?23鈥?
              鈥楥HARSET鈥?鈥榰tf8鈥? 
          }
          }
?
    2. 杩樿鍦ㄩ」鐩悕涓嬬殑init鏂囦欢鎴栬€呮槸搴旂敤鍚嶄笅鍦╥nit鏂囦欢涓缃笉璁〥jango浣跨敤榛樿鐨勬暟鎹簱锛岃€屾槸浣跨敤pymysql
      import pymysql
      pymysql.install_as_MySQL锛堬級

11.Django閲岄潰鐨勫璞″叧绯绘槧灏勶細
      ORM:
          琛?-------------->绫?br />           涓€鏉℃潯鐨勮褰?-------------->瀵硅薄
          瀛楁瀵瑰簲--------------->瀵硅薄鐨勫睘鎬?br />?
    1.棣栧厛鎴戜滑闇€瑕佸湪models.py涓功鍐欐ā鍨嬬被
          class User锛坢odels.Model锛?
              username = models.CharField(max_length=32)
              password = models.IntegerField()
      ps:
            娉ㄦ剰:鍙鍔ㄤ簡models涓窡鏁版嵁搴撶浉鍏崇殑浠g爜 灏卞繀椤婚噸鏂版墽琛屼笂闈㈢殑涓ゆ潯鍛戒护 缂轰竴涓嶅彲(******)
              python3 manage.py makemigrations # 浠呬粎鏄湪灏忔湰鏈笂(migrations鏂囦欢澶?璁板綍鏁版嵁搴撶殑淇敼 骞朵笉浼氱洿鎺ユ搷浣滄暟鎹?br />               python3 manage.py migrate # 灏嗘暟鎹簱淇敼璁板綍 鐪熸鍚屾鍒版暟鎹簱
               
  12.琛ㄥ瓧娈电殑澧炲垹鏀规煡锛?br />      
      澧烇細
          褰撲竴寮犺〃宸茬粡鍒涘缓鍑烘潵涔嬪悗 鍚庣画杩樻兂娣诲姞瀛楁,鍙互鏈変袱绉嶆柟寮?br /> 1.缁欐柊澧炵殑瀛楁璁剧疆榛樿鍊?br /> addr = models.CharField(max_length=32,default=鈥楥hina鈥? # default璇ュ瓧娈甸粯璁ゅ€?br />?
2.缁欐柊澧炵殑瀛楁璁剧疆鎴愬彲浠ヤ负绌?br />   age = models.IntegerField(null=True) # 璇ュ瓧娈靛厑璁镐负绌?br />       鍒狅細
          鍒犻櫎瀛楁 鐩存帴鍦╩odels.py涓敞閲婅瀛楁 鐒跺悗閲嶆柊鎵ц涓ゆ潯鍛戒护鍗冲彲
          娉ㄦ剰:鎵ц瀹屼箣鍚?琛ㄤ腑璇ュ瓧娈垫墍瀵瑰簲鐨勬墍鏈夌殑鏁版嵁鍏ㄩ儴鍒犻櫎
          骞朵笖涓€鑸儏鍐典笅锛屽熀鏈槸涓嶄細鐢ㄥ埌鐪熸鎰忎箟涓婄殑鍒犻櫎

 

  13. orm鎿嶄綔闇€瑕佷娇鐢╩odels涓殑绫诲悕瀛楋細
      棣栧厛鎴戜滑闇€瑕佸湪models锛?br />           from app01锛坅pp鍚嶅瓧锛?import models
      鏌ワ細
          models.USER.objects.all()   # 鑾峰彇鎵€鏈夋暟鎹?br />           鍚岀瓑浜庯細select * from USER
          models.USER.objects.get(鏉′欢) 鍚岀瓑浜?select *from user where id=1
          get鏂规硶鍙互鐩存帴鎷垮埌鏁版嵁瀵硅薄鏈韩锛屽鏋滄暟鎹笉瀛樺湪鐨勬椂鍊欙紝浼氱洿鎺ユ姤閿欙紝鎵€浠ヨ繖涓笉鎺ㄨ崘浣跨敤
           
          鎺ㄨ崘浣跨敤锛歠ilter杩囨护鐨勬剰鎬濓細
              models.USER.objects.filter(鏉′欢 ) 鏉′欢鍙互鏀惧涓紝鍏崇郴涓篴nd
                    filter鎷垮埌鏄竴涓垪琛?  filter鎿嶄綔鍏跺疄閮芥槸鎵归噺鎿嶄綔
                  濡傛灉filter缁撴灉鍒楄〃涓湁澶氫釜鏁版嵁 閭d箞浼氫竴娆℃€у叏閮ㄤ慨鏀?
                  绫讳技浜巉or寰幆涓€涓釜淇敼
                  鏂规煡璇㈡潯浠朵笉瀛樺湪鐨勬椂鍊欒繑鍥炵┖涔熷氨鏄痭one
              models.USER.objects.filter(鏉′欢 锛?query     鍙互鎷垮埌浠栫殑sql璇彞锛屽彧鏈塹ueryset瀵硅薄鐨勬椂鍊欐墠鍙互浣跨敤
                ***filter鎷垮埌鐨勭粨鏋滃氨鏄竴涓猶uerySet瀵硅薄(浣犵幇鍦ㄥ彧闇€瑕佺煡閬揻ilter鎷垮埌鐨勭粨鏋滃氨鑳藉鐐筿uery鏌ョ湅sql璇彞)
                      querySet瀵硅薄 浣犲彲浠ュ惂瀹冨綋鍋氬垪琛ㄦ搷浣?鍙栧€间篃鍙互閫氳繃绱㈠紩鍙?querySet鍙敮鎸佹鏁扮储寮?涓嶆敮鎸佽礋鏁? 杩樻敮鎸佸垏鐗囨搷浣?鍒囧嚭鏉ョ殑缁撴灉杩樻槸涓€涓猶uerySet瀵硅薄)
                      浣嗘槸涓嶆帹鑽愯繖涔堝仛
          user_obj = models.User.objects.filter(username=username).first() # 鎷垮垪琛ㄤ腑绗竴涓暟鎹璞? 
        澧烇細
           
              1.create鏂规硶锛?br />                   models.User.objects.create(username=username,password=password)
                  create鏂规硶鑳藉鏂板鏁版嵁 骞朵笖鏈変竴涓繑鍥炲€硷紝杩斿洖鍊煎氨鏄柊澧炵殑鏁版嵁瀵硅薄鏈韩
 
              2. 鍒╃敤瀵硅薄锛?br />                   user_obj = models.User(username=username,password=password)
                  user_obj.save()
             
        鍒狅細
            models.User.objects.filter(id=delete_id).delete() 鍚岀瓑浜? delete from user where id = delete_id;

 

        鏀癸細
            1锛?br />             models.User.objects.filter(id=edit_id).update(username=username,password=password)
            update user set username = username,password = password where id = edit_id  
            2锛氾紙涓嶆帹鑽愪娇鐢細锛?br />               edit_obj.username = username
              edit_obj.password = password
              edit_obj.save()
              涓嶆帹鑽愪娇鐢ㄧ殑鍘熷洜锛氱浜岀鏂瑰紡浼氫粠澶村埌灏惧皢鎵€鏈夌殑瀛楁鍏ㄩ儴淇敼涓€閬? 鏁堢巼鏋佷綆

 

        鍓嶅悗绔敤鎴风殑澧炲垹鏀规煡锛?br />           1.閫氳繃orm灞曠ず鎵€鏈夌殑鍒板墠绔?br />               all()
              妯℃澘璇硶for寰幆
          2.娣诲姞鏂板鎸夐挳 (鐢ㄦ埛鐨勬柊澧炴搷浣?
              a鏍囩鐨刪ref鐩存帴瑙﹀彂鍚庣閫昏緫
              create()
          3.娣诲姞缂栬緫 鍒犻櫎鎸夐挳
              缂栬緫
              鍒犻櫎
                  鍒╃敤get璇锋眰鎼哄甫鍙傛暟鐨勭壒鐐? 鍦╱rl鐨勫悗闈㈣窡涓婂搴旀暟鎹殑id鍊?br />                   request.GET.get()
                   
                  濡傛灉鏄紪杈?
                      閲嶆柊娓叉煋涓€涓〉闈?灏嗙紪杈戝璞′紶閫掑埌鍓嶇
                   
                  濡傛灉鏄垹闄?br />                       鐩存帴鍒╃敤filter(...).delete()

 

 

 

 

 

 

 

 

 

 


推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
author-avatar
zjlwansui_155
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有