diff --git a/webserver/Webserver/template.html b/webserver/Webserver/template.html new file mode 100644 index 0000000..5d56cbc --- /dev/null +++ b/webserver/Webserver/template.html @@ -0,0 +1,9 @@ + + + {{ title }} + + +

Welcome, {{ username }}!

+

This is a {{ page_type }} page.

+ + \ No newline at end of file diff --git a/webserver/Webserver/templatetest.py b/webserver/Webserver/templatetest.py new file mode 100644 index 0000000..01229fd --- /dev/null +++ b/webserver/Webserver/templatetest.py @@ -0,0 +1,28 @@ +import re +import inspect + +def render_template(template_file, **kwargs): + # Read the template from file + with open(template_file, 'r') as file: + template_string = file.read() + + # Get the calling frame + frame = inspect.currentframe().f_back + + # Combine local variables from the calling scope with passed kwargs + variables = {**frame.f_locals, **kwargs} + + def replace_var(match): + var_name = match.group(1) + return str(variables.get(var_name, f'{{{{ {var_name} }}}}')) + + rendered_content = re.sub(r'\{\{ (\w+) \}\}', replace_var, template_string) + return rendered_content + +# Example usage: +username = "waffles" +title = "My Awesome Page" +page_type = "sample" + +rendered_html = render_template('template.html') +print(rendered_html) \ No newline at end of file