Solved! Go to Solution.
mxd = arcpy.mapping.MapDocument( path to mxd ) df = arcpy.mapping.ListDataFrames(mxd)[0] ###UpdateLayer requires a data frame reference (returns 1st df) lyrFile = arcpy.mapping.Layer( path to lyr file ) ###This is a lyr file with pre-authored symbology you will apply to layer lyr = arcpy.mapping.ListLayers(mxd, "layer name", df)[0] ###A reference to the shapefile layer in MXD you want to update. arcpy.mapping.UpdateLayer(df, lyr, lyrFile, True) ###This will update ONLY the symbology
SubjectLyr = arcpy.mapping.Layer(r"F:\\testFiles\\output\\Population23_KDens.lyr")
mxd = arcpy.mapping.MapDocument("F:\\testFiles\\testMap.mxd")
df = arcpy.mapping.ListDataFrames(mxd)[0]
wPath = "F:\\testFiles\\output\\" # same as in line 1
#Add the layer to basemap
arcpy.mapping.AddLayer(df, SubjectLyr,"AUTO_ARRANGE")
#Update the layer
SubjectLyr = arcpy.mapping.ListLayers(mxd, SubjectLyr.name, df)[0] # change reference to layer in mxd
sourceLayer = arcpy.mapping.Layer(wPath+"templates\\template.lyr") # get template layer
arcpy.mapping.UpdateLayer(df, SubjectLyr, sourceLayer, True)
###Zoom to selection
df.zoomToSelectedFeatures()
lyrExtent = SubjectLyr.getSelectedExtent()
df.extent = lyrExtent
arcpy.mapping.ExportToPDF(mxd, r"F:\\testFiles\\output\\Population23_KDens_Map.pdf")
print('DONE!')