Python Can´;t在Django中执行查看操作
我想了解为什么当我点击登录按钮时,我无法运行Python Can´;t在Django中执行查看操作,python,django,Python,Django,我想了解为什么当我点击登录按钮时,我无法运行user\u login功能。我是django的新手。谢谢 URL.py: from django.urls import path from iol_dash import views urlpatterns = [ path('', views.index, name='index'), ] views.py: from django.shortcuts import render from iol import Service de
user\u login
功能。我是django的新手。谢谢
URL.py:
from django.urls import path
from iol_dash import views
urlpatterns = [
path('', views.index, name='index'),
]
views.py:
from django.shortcuts import render
from iol import Service
def index(request):
return render(request, 'index.html', {})
def user_login(request):
username = request.POST.get('username')
password = request.POST.get('password')
service = Service()
token = service.get_token(
username=username,
password=password
)
print(token)
index.html:
<form class="modal-content animate" method="post" action={{ views.user_login }}>
{% csrf_token %}
{{ form.as_p }}
<div class="imgcontainer">
<span onclick="document.getElementById('id01').style.display='none'" class="close" title="Close Modal">×</span>
</div>
<div class="container">
<label for="username"><b>Username</b></label>
<input type="text" placeholder="Enter Username" name="username" required>
<label for="password"><b>Password</b></label>
<input type="password" placeholder="Enter Password" name="password" required>
<button type="submit">Login</button>
</div>
</form>
{%csrf_令牌%}
{{form.as_p}}
&时代;
用户名
密码
登录
您需要为每个视图定义一个url。您的url.py
应该是:
from django.urls import path
from iol_dash import views
urlpatterns = [
path('', views.index, name='index'),
path('login',views.user_login,name='user_login')
]
您的index.html
应该是这样的:
<form class="modal-content animate" method="post" action="{% url 'user_login' %}">
{% csrf_token %}
{{ form.as_p }}
<div class="imgcontainer">
<span onclick="document.getElementById('id01').style.display='none'" class="close" title="Close Modal">×</span>
</div>
<div class="container">
<label for="username"><b>Username</b></label>
<input type="text" placeholder="Enter Username" name="username" required>
<label for="password"><b>Password</b></label>
<input type="password" placeholder="Enter Password" name="password" required>
<button type="submit">Login</button>
</div>
</form>
{%csrf_令牌%}
{{form.as_p}}
&时代;
用户名
密码
登录
您需要为每个视图定义一个url。您的url.py
应该是:
from django.urls import path
from iol_dash import views
urlpatterns = [
path('', views.index, name='index'),
path('login',views.user_login,name='user_login')
]
您的index.html
应该是这样的:
<form class="modal-content animate" method="post" action="{% url 'user_login' %}">
{% csrf_token %}
{{ form.as_p }}
<div class="imgcontainer">
<span onclick="document.getElementById('id01').style.display='none'" class="close" title="Close Modal">×</span>
</div>
<div class="container">
<label for="username"><b>Username</b></label>
<input type="text" placeholder="Enter Username" name="username" required>
<label for="password"><b>Password</b></label>
<input type="password" placeholder="Enter Password" name="password" required>
<button type="submit">Login</button>
</div>
</form>
{%csrf_令牌%}
{{form.as_p}}
&时代;
用户名
密码
登录
谢谢您的回答。它可以工作,您能否解释为什么“{%url”用户登录“%}”
而不是{{views.user\u login}
?操作
告诉您何时提交表单,它必须重定向哪个url。由于每个url都有名称,因此它会执行相应的视图
您能帮我解决我的新问题吗?谢谢你的回答。它可以工作,您能否解释为什么“{%url”用户登录“%}”
而不是{{views.user\u login}
?操作
告诉您何时提交表单,它必须重定向哪个url。由于每个url都有名称,因此它会执行相应的视图
您能帮我解决我的新问题吗?谢谢