**Apache Airflow version**: 2.1.1

**What happened**:

The rendered templates screen doesn't show the operator arguments for TaskFlow API operators.
![image](https://user-images.githubusercontent.com/72943478/125486179-f6dde0be-9f60-4aca-831a-5cfd16e7f006.png)

**What you expected to happen**:

Should show the arguments after any templates have been rendered.

**How to reproduce it**:

Will happen for any `@task` decorated operator.

**Anything else we need to know**:

This issue appears on a number of operators.  Possible solution is to modify the "get_python_source" in utils/code_utils.py to handle list and dict. This would cause any operator that using py as the renderer to handle lists and dicts.  Possibly something like:
```
    if isinstance(x, list):
        return [str(v) for v in x]

    if isinstance(x, dict):
        return {k: str(v) for k, v in x.items()}
```
The converting values to strings seems necessary in order to avoid errors when this is passed to the pygments lexer.
![image](https://user-images.githubusercontent.com/72943478/125494716-01cf0c11-9e5f-45fa-afe2-4f99409edefc.png)

airflow/www/views.py
'airflow/chart.html',
            dag=dag,
            chart=Markup(chart.htmlcontent),
            height=str(chart_height + 100) + "px",
            root=root,
            form=form,
            tab_title='Landing times',
        )
    @expose('/paused', methods=['POST'])
    @auth.has_access(
        [
            (permissions.ACTION_CAN_EDIT, permissions.RESOURCE_DAG),
        ]
    )
    @action_logging
    def paused(self):
        """Toggle paused."""
        dag_id = request.args.get('dag_id')
        is_paused = request.args.get('is_paused') == 'false'
        models.DagModel.get_dagmodel(dag_id).set_is_paused(is_paused=is_paused)
        return "OK"
    @expose('/refresh', methods=['POST'])
    @auth.has_access(
        [
            (permissions.ACTION_CAN_EDIT, permissions.RESOURCE_DAG),
        ]
    )
    @action_logging
    @provide_session
    def refresh(self, session=None):