Python 板


LINE

C:\Users\NOAS2K456CG05\project\project\project\urls.py from django.contrib import admin from django.urls import path , include from app1 import views urlpatterns = [ path('admin/', admin.site.urls), path('app1/' , include('app1.urls')), path('' , views.home , name = 'home'), ] _________________________我是分隔线______________________________ C:\Users\NOAS2K456CG05\project\project\app1\urls.py from django.contrib import admin from django.urls import path from . import views urlpatterns = [ path('index/' , views.index , name='index'), ] _________________________我是分隔线______________________________ C:\Users\NOAS2K456CG05\project\project\app1\views.py from django.shortcuts import render # Create your views here. from django.http import HttpResponse def index(request): s = 'This is index.' return HttpResponse(s) def home(request): s = 'This is home.' return HttpResponse(s) _________________________我是分隔线______________________________ 不知道会不会太难看 = = , Django超级新手, 想了解整个运作的流程 请教一下几个问题 , 如果说的不对是很正常的 , 麻烦请指正我!感谢 1.path('' , views.home , name = 'home') 这个是Functiom views Browser输入http://127.0.0.1:8000/後 , 使用app1\urls.py这个档案内的 path('' , views.home , name = 'home') , 将app1\views.py内所定义的function 处理完後丢结果回来 , 而path内的第一个项目>>>''<<< , 如果不加路径 , 一般来说是 不是作为首页? 这个语法是否只适用在import app内的views.py ? 2.path('app1/' , include('app1.urls')) 这个是Including another URLconf 输入http://127.0.0.1:8000/app1/index/後 , Browser 会询问project内的 path('app1/' , include('app1.urls')) , 发现原来还有一层! 於是又跑去跟app1\urls.py说赶快给我资料 , 然後app1\urls.py很无奈的说出 path('index/' , views.index , name='index')去找他要 , 然後终於将views里面的 function做完传给Browser . 3.我看到他给的的例子里面共有三个 : Functiom views , Including another URLconf Class-based views , 前面两个我已经尝试过了 , 想请问第三个是用在 import views.py 里面的Class吗? 4.在C:\Users\NOAS2K456CG05\project\project\app1\urls.py里面 from . import views 之所以会打 . 是不是因为他们处在同个资料夹的原因? 5.views只能存在app里面? 我在youtube看老外教学时 , 有些人是直接放在project 资料夹下 , 有些是放在app资料夹下 , 我觉得很混乱= = , 有什麽好处或坏处吗? 或是有什麽用意? 还有urls也是= = , 是纯粹为了方便不想隔一层import还是美观性 ,还是有其他原因? 因为我有点强迫症 , 不喜欢东西很乱 , 希望就固定几个pattern这样下去做 , 以後要 修正或是Debug也方便好找 . --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.128.137.40
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1528099466.A.5C4.html
1F:→ djshen: url是用regular expression match 06/04 16:29
2F:→ uranusjr: 楼上你该升 Django 2.0 了 06/04 17:36
3F:→ djshen: 我之前是用1.x没错 不过我推文前特地去翻了最新的原始码 06/04 17:48
4F:→ djshen: 内部确实是用regex没错 只是path有新的写法而已 06/04 17:49
5F:→ djshen: 我讲的是内部的机制 对应到他第二个问题 06/04 17:50
6F:→ tmdggyygan: 感谢回覆 , 虽然看不太懂 我会去搜寻关键字找资料来看 06/04 18:00
7F:→ djshen: include的url会和prefix串起来变成一个pattern 06/04 18:04
8F:→ djshen: 我重新翻了source code 不是串成一个 确实有一层层的概念 06/04 18:09
9F:→ djshen: 总之最後match的结果主要是view func和参数 06/04 18:12
10F:→ djshen: 4. https://docs.python.org/3/tutorial/modules.html 06/04 18:21
11F:→ djshen: 6.4.2 06/04 18:21
12F:→ djshen: 5. 没有一定要放哪 初学可以照django的convention放 06/04 18:24
13F:→ tmdggyygan: 了解 , 反正最後也都是导引到views.py这样理解对吧? 06/04 19:05
14F:→ tmdggyygan: 4.似乎真的是资料夹的关系 , 感谢! 06/04 19:12
15F:→ djshen: 通常是会对应到views.py里面的东西 不过广义来讲只要是 06/04 20:04
16F:→ djshen: 接收HttpRequest回传HttpResponse的东西都OK 06/04 20:05
17F:→ tmdggyygan: 感谢您! 06/04 20:28
18F:推 thethirdfoot: .视同同目录 06/05 14:59
19F:→ g4332572: 可以参考 django 2.0 文件中的 URL dispatcher 06/06 03:42
20F:→ g4332572: 第三题,找文件 Class-based views 也有说明 06/06 03:51
21F:→ g4332572: 大意就是 06/06 04:08
22F:→ g4332572: 相比原先程序导向的函数,提供了另外物件导向的类型可用 06/06 04:09
23F:→ g4332572: 好处就是,可以透过继承的方式来让你的程式码重用性变高 06/06 04:19
24F:推 tttkkk: 网站长到很大的时候 当然要将 request "分流"到 06/07 01:01
25F:→ tttkkk: app1, app2, app3, and so on. 这样code 可以比较乾净也 06/07 01:02
26F:→ tttkkk: 比较好管理 这正好跟你的强迫症是不违背的 06/07 01:03
27F:→ tttkkk: 还有这种方式也有利於 app 再利用。试想你若把所有 url 06/07 01:04
28F:→ tttkkk: handler 都放在 project 下 之後要把某个 app 拆给 06/07 01:04
29F:→ tttkkk: 其他 project 用时不就很麻烦? 相同的概念,你project 06/07 01:05
30F:→ tttkkk: 底下的 template 以及 static files 都最好按照 app 分 06/07 01:05
31F:推 tttkkk: 老外直接放在 project下 应该是因为第一个例子 最简单的 06/07 01:11







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP