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也方便好找 .