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的解决办法(转)(代码片段

[vscode]--HTML代码片段(基础版,reactvuejquery)

Django REST框架--认证和权限

如何在 Django 中显式重置模板片段缓存?

使用 Django 模板作为片段

python 通过django片段很多很多