Django【基础篇】

mac2022-06-30  19

Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。

基本配置

 

一、创建django程序

终端命令:django-admin startproject sitenameIDE创建Django程序时,本质上都是自动执行上述命令

其他常用命令:

  python manage.py runserver 0.0.0.0      #启动django项目  python manage.py startapp appname    #创建工程  python manage.py syncdb  python manage.py makemigrations  python manage.py migrate

  python manage.py createsuperuser   #创建admin管理用户

二、程序目录

三、配置文件settings.py

1、数据库

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME':'dbname', 'USER': 'root', 'PASSWORD': 'xxx', 'HOST': '', 'PORT': '', } } # 由于Django内部连接MySQL时使用的是MySQLdb模块,而python3中还无此模块,所以需要使用pymysql来代替 # 如下设置放置的与project同名的配置的 __init__.py文件中 import pymysql pymysql.install_as_MySQLdb()  #Django3.X中,安装mysqlclient即可 pip install mysqlclient

2、模版

TEMPLATE_DIRS = ( os.path.join(BASE_DIR,'templates'), )

3、静态文件

STATICFILES_DIRS = ( os.path.join(BASE_DIR,'static'), ) 路由系统

 

1、单一路由对应

url(r'^index$', views.index),

2、基于正则的路由

url(r'^index/(\d*)', views.index), url(r'^manage/(?P<name>\w*)/(?P<id>\d*)', views.manage), #Django2 需要引入 re_path re_path(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive),

3、添加额外的参数

url(r'^manage/(?P<name>\w*)', views.manage,{'id':333}),

4、为路由映射设置名称

url(r'^home', views.home, name='h1'), url(r'^index/(\d*)', views.index, name='h2'),

设置名称之后,可以在不同的地方调用,如:

模板中使用生成URL     {% url 'h2' 2012 %}函数中使用生成URL     reverse('h2', args=(2012,))      路径:django.urls.reverseModel中使用获取URL  自定义get_absolute_url() 方法 class NewType(models.Model): caption = models.CharField(max_length=16) def get_absolute_url(self): """ 为每个对象生成一个URL 应用:在对象列表中生成查看详细的URL,使用此方法即可!!! :return: """ # return '/%s/%s' % (self._meta.db_table, self.id) # 或 from django.urls import reverse return reverse('NewType.Detail', kwargs={'nid': self.id})

5、根据app对路由规则进行分类

path('web/',include('web.urls')),

6、命名空间

a. project.urls.py

 

转载于:https://www.cnblogs.com/xiangjun555/articles/8649388.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)