1.创建
a、创建项目:对应文件cmd: django-admin startproject ~
b、然后cd到上面创建的~文件下创建app: python manage.py startapp ~
c、然后是运行: python manage.py runserver
e、数据库与模型modles对应,orm关系映射
1)模型通过orm转化成表(一个表对应一个模型里的类class)
首先执行生成迁移文件:python manage.py makemigrations
然后执行迁移:python manage.py migrate
2)数据库通过orm转化成模型
python manage.py inspectdb
#将模型导入创建的app中去
python manage.py inspectdb > app/models.py
2.设置
a、创建app添加到设置中
b、链接到数据库,后续需要
#连接数据库,然后记得init里写上 import pymysql 然后一句话换行 pymysql.install_as_MYSQLdb()
# DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.mysql',
# 'NAME': '', #对应数据库名
# 'USER':'',
# 'PASSWORD':'',
# 'HOST':'localhost',
# 'POST':'3306',
# }
# }
c、语言和时间格式
#语言和时间格式
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
d、templates模板和static静态文件设置
#模板
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR,'templates')], #模板路径设置格式
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
#静态
STATIC_URL = '/static/'
STATICFILES_DIRS=[
os.path.join(BASE_DIR,'static')
]
MEDIA_ROOT=os.path.join(BASE_DIR,r'static/media')
e、app里urls与主项目urls管理关联
注意:include添加namespace报错需要在app urls里添加这句app_name=app名
#主urls
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('',include('file.urls',namespace='file')),
]
#app urls
from django.urls import path
from . import views
app_name="file" #include添加namespace报错需要添加这句app_name
urlpatterns = [
path('',views.home,name='home'),
path('test/',views.test,name='test'),
]
f、block块和static 引入问题
1)extends
#先base页面写上需要插入内容的块格式
{% block c %}
{% endblock %}
#然后再需要引用的模板页面进行引用并插入相关内容
{% extends './test.html' %}
{% block c %}
块填入
<h1>{{aa}}</h1>
<h1>{{aa}}</h1>
{% endblock %}
1)load static
#首先也是需要先引入
{% load static %}
#然后这种格式插入静态文件内容
{% static "file/img/timg.jpg" %}
g、urls name引用问题(可以路由地址随便变,模板页面引用了可以不用去改)
#主要就是url方法
<a href="{% url 'file:home' %}"><h1>{{ aa }}</h1></a>