转自:https://www.jianshu.com/p/404500a0408a 补充理解: 先把官网上对应用命名空间(app_name)和实例命名空间(namespace)的解释贴上: app_name(应用命名空间)通常在app.urls模块中指定,如: app_name = "test" //应用命名空间 urlpatterns = [ path("article1/", views.test, name="url_a"), ] name…
在写django的时候,html中反向解析经常会用到app_name 但有时候又是namespace,具体的区别如下: 大部分情况 这两者有其一就可以了. 并且两者(可以简化理解)无区别 只要一种情况   比如  访问 path('book1/', include('book.urls')), path('book2/', include('book.urls')), 这种情况下(访问不通的url  但是执行的是一个app ,并且走一个方法或者类),必须用appname来区分,这时候用app_n…
类命名空间和对象/实例命名空间: 创建类, 就会创建一个类的名称空间, 空间:存储类的属性 属性: 静态属性:直接定义在类下面 & 和类名关联 的变量 对象属性:在类内和self关联 & 类外和对象关联 的变量 动态属性:方法(函数) 内存空间的指向: class Foo: a = 1 b = ['big'] def __init__(self): pass f1 = Foo() print(f1.a) # 1 f1.a = 2 # '=' 断开了类的指针,内存地址不在指向类中的a (从内…
在app文件夹下创建database_operations.py文件,写如下内容: import pymysql from 项目名.settings import DATABASES class Database_operat(object): def __init__(self, database=DATABASES, database_name='default'): database_information = database[database_name] try: self.db =…
为了说明它们两者的区别定义2个models class Student(models.Model): name = models.CharField('姓名', max_length=20, default='') age = models.CharField('年龄', max_length=20, default='') class Book(models.Model): student = models.ForeignKey(Student) 一.先说下django的obj.get():…
在早期的django版本中 urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^polls/', include('polls.urls', namespace="polls")), ] 而我现在使用的是django2.2.3这样写就会出现错误 'Specifying a namespace in include() without providing an app_name is not supported. Set th…
路由系统 根据Django约定,一个WSGI应用里最核心的部件有两个:路由表和视图.Django框架 的核心功能就是路由:根据HTTP请求中的URL,查找路由表,将HTTP请求分发到 不同的视图去处理: url() 函数有四个参数,两个必须的: regex 和 view , 两个可选的: kwargs , 以及 name url() 参数: regex    regex 是 regular expression 的简写,这是字符串中的模式匹配的一种语法, 在 Django 中就是是 url 匹配…
Django中的URL补充 默认值 在url写路由关系的时候可以传递默认参数,如下: url(r'^index/', views.index,{"name":"root"}), 这样在视图函数中,就可以获取这个默认参数name: def index(request,name): print(name) return HttpResponse("%s is OK" %name) 命名空间 通过下面例子理解: 在项目的urls里写入如下代码: url…
add by zhj: 如果想用reverse(namespace1:namespace2:...:namespaceN:name)反查url(注意:用reverse('polls:index')方法和{% url 'polls:index' %}获取到的是url中的path部分,要自己加上domain才是完整的url),那要做下面两点. 1. 该url路径上用到的所有url()方法中必须加name参数,如果url()方法中有include(),那不用加name参数. name相当于文件,同一目…
每生成一个地址,都是一个实例.使用实例命名空间,针对于一个app而言. book/views.py from django.http import HttpResponse from django.shortcuts import render,redirect,reverse from django.urls import resolve # Create your views here. def index(request): username = request.GET.get("user…