- 创建项目
django-admin startproject xxx
- 创建应用
python manage.py startapp xxx
- urls设置
from django.contrib import admin
from django.urls import path
from App import views
#需要导入views函数模块
urlpatterns = [
path('admin/', admin.site.urls),
path('hello/', views.hello),
#views.hello是在应用下面定义的函数,这个uri是hello,这样可以访问到hello函数的应用
path('who/',views.who),
#views.who的函数,uri是who.
]
#view.hello函数
[root@python HelloDjango]# cat App/views.py
from django.shortcuts import render
from django.http import HttpResponse
def hello(request):
return HttpResponse("双击666")
#必须给客户端一个响应
def who(request):
return render(request, 'index.html')
#render是渲染函数,可以直接渲染html,render(request, '模板名字'),模板必须在templates路径下面
#templates在应用App下面
#templates如果在项目路径下面创建,需要在settings里面设置具体代码在下面展示出来
#设置templates路径
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
os.path.join(BASE_DIR, 'templates')
#templates这个也可以写绝对路径,不建议写
],
- 随着项目路径的增大,根路由文件会随着增大,为了避免这个情况,我们这边可以选择子路由文件去搞设置,直接上代码~
a) 创建一个新的应用名字为two
[root@python HelloDjango]# python manage.py startapp two
b) 在新的应用里面创建新的视图函数
[root@python HelloDjango]# vim two/views.py
-------------views函数
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse('这个路径是我通过子路由转发过来的~')
c) 在新的应用里面创建新的子路由文件
[root@python HelloDjango]# touch two/urls.py
[root@python HelloDjango]# vim two/urls.py
[root@python HelloDjango]# vim two/urls.py
from django.conf.urls import url
#切记一定需要导这个模块
from two import views
urlpatterns = [
url ('index/', views.index,),
#切记这个是列表,千万不要忘记后面的,
]
d) 在根路由文件里面修改路由
[root@python HelloDjango]# vim HelloDjango/urls.py
from django.contrib import admin
from django.urls import path, include
from App import views
urlpatterns = [
path('admin/', admin.site.urls),
path('hello/', views.hello),
path('who/',views.who),
path('two/',include('two.urls')),
#include包含了two应用里面的子路由文件的所以uri
]
e) 在settings配置文件中注册应用
[root@python HelloDjango]# vim HelloDjango/settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'App',
'two',
]
f) 访问即可返回
http://116.196.76.53/two/index/