Django基础
Posted zhoudingzhao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django基础相关的知识,希望对你有一定的参考价值。
1、安装 pip install django
2、创建工程 django-admin startproject mysite
3、创建app cd mysite ---- python manage.py startapp monitor , python manage.py startapp cmdb (一个project下可以有多个app)
4、执行django程序 python manage.py runserver 127.0.0.1:8001
5、生成表: python manage.py makemigrations (生成配置文件) ---- python manage.pymigrate (根据配置文件创建数据库)
6、创建用户: python manage.py createsuperuser 。 会在 auth_user 表中增加一条记录。
7、路由:
a. 一级路由分发:
在浏览器中访问时, 首先根据 URL 匹配 urls.py 路由。 比如访问 http://ip:port/news/12/34
urlpatterns = [
url(r‘^news/(\d+)/(\d+)‘, views.news)
]
根据以上匹配规则, 请求路由到 views.py 中的以下函数处理:
def news(request, id,id2):
nid = int(id) + int(id2)
return HttpResponse(nid)
则页面上显示 46 。 在url() 中以 / 分隔参数, id 接收第一个参数 12 , id2 接收第二个参数 34 。
如果在 urls.py 中 指定参数的名字:
urlpatterns = [
url(r‘^new/(?P<n1>\d+)/(?P<n2>\d+)‘, views.new)
]
在 views.py 中接收这两个参数, 则不按照顺序。def new(request,n2,n1):
return HttpResponse(n1+n2)
此时访问 http://127.0.0.1:8001/new/12/34 。 则 n1=12, n2=34 , 页面显示 1234 。
b. 二级路由分发:
一个project 下面有多个app 。 在 project 中的 urls.py 中配置一级路由:
from django.conf.urls import url,include
from django.contrib import admin
urlpatterns = [
url(r‘^monitor/‘, include("monitor.urls")),
url(r‘^cmdb/‘, include("cmdb.urls"))
]
当访问 monitor 时, 则由 monitor 下面的 urls 处理 。
monitor 中的 urls.py :
from django.conf.urls import url
from django.contrib import admin
from monitor import views
urlpatterns = [
url(r‘^home/‘, views.home),
]
monitor 中的 views.py :
from django.shortcuts import render
from django.shortcuts import HttpResponse
# Create your views here.
def home(request):
return HttpResponse(‘monitor.home‘)
则访问 http://127.0.0.1:8001/monitor/home/ , 页面显示 monitor.home 。
类似的,访问 http://127.0.0.1:8001/cmdb/home/ , 可以路由到 cmdb 的 urls.py 和 views.py 处理。
以上是关于Django基础的主要内容,如果未能解决你的问题,请参考以下文章
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段