这是urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.login_page, name='login_page'),
]
我的views.py就像这样
def login_page(request):
return render(request, 'mileage/login_page.html', {})
这是我的HTML代码
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width" >
<meta charset="UTF-8">
<title>Test</title>
<link rel="stylesheet" href="{% static 'css/style.css' %}">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js">
</script>
</head>
<body bgcolor="#4599e8">
<div class="title"><span><h1>Test</h1></span></div>
<div class="home_password">
<div class="password"><input type="password" name="password" placeholder="Password"></div>
<div class="button"><button>OK</button></div>
</div>
</body>
</html>
启动服务器,但我的localhost:8080 /只显示html文本而非页面。
使用Chrome Developer Console,我检查了元素。
<html>
<head></head>
<body>
<pre style="word-wrap: break-word; white-space: pre-wrap;">
"
my html code here.
"
</pre>
</body>
</html>
我不知道如何解决它。
答案 0 :(得分:0)
谁将所有html代码插入预标记内是您的浏览器,因为它可能会收到带有响应的Content-type: text/plain
标题,并且它认为您想要查看html代码而不是呈现的网页。
尝试使用以下方法进行测试:
render(request, 'mileage/login_page.html', {}, content_type='text/html')
如果有效,请将DEFAULT_CONTENT_TYPE常量设置为&#39; text / html&#39;在你的设置中。
DEFAULT_CONTENT_TYPE
默认值:&#39; text / html&#39;
用于所有HttpResponse对象的默认内容类型(如果是MIME) 类型不是手动指定的。与DEFAULT_CHARSET一起使用来构造 Content-Type标题。
可能一个环境变量让你搞砸了它,它有一个默认的文本/普通&#39;很奇怪。内容类型集。