**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
"""Get DAG runs as calendar"""
        def _convert_to_date(session, column):
            """Convert column to date."""
            if session.bind.dialect.name == 'mssql':
                return column.cast(Date)
            else:
                return func.date(column)
        dag_id = request.args.get('dag_id')
        dag = current_app.dag_bag.get_dag(dag_id)
        if not dag:
            flash(f'DAG "{dag_id}" seems to be missing from DagBag.', "error")
            return redirect(url_for('Airflow.index'))
        root = request.args.get('root')
        if root:
            dag = dag.partial_subset(task_ids_or_regex=root, include_downstream=False, include_upstream=True)
        with create_session() as session:
            dag_states = (
                session.query(
                    (_convert_to_date(session, DagRun.execution_date)).label('date'),
                    DagRun.state,