質問編集履歴

3

新規

2020/05/21 10:37

投稿

Sheerlore
Sheerlore

スコア0

test CHANGED
File without changes
test CHANGED
@@ -67,3 +67,93 @@
67
67
 
68
68
 
69
69
  これはトップページのコードの一部です。ここでポップアップを表示させているのですがどのようにしてログインと結びつけるのかがわかりません。できれば新規アカウント登録も教えていただきたいです。
70
+
71
+
72
+
73
+ ###さらに追記
74
+
75
+ ```html
76
+
77
+ <form action="{% url 'blogs:login' %}" method="POST">
78
+
79
+ {% csrf_token %}
80
+
81
+ <input type="text" name="username" placeholder="Login ID">
82
+
83
+ <input type="password" name="password" placeholder="password">
84
+
85
+ {% for error in form.non_field_errors %}
86
+
87
+ <div>
88
+
89
+ <p>{{ error }}</p>
90
+
91
+ </div>
92
+
93
+ {% endfor %}
94
+
95
+ <input type="submit" id="login-btn" value="LOGIN">
96
+
97
+ </form>
98
+
99
+ ```
100
+
101
+ ```python
102
+
103
+ views.py
104
+
105
+
106
+
107
+ class Login(LoginView):
108
+
109
+ form_class = LoginForm
110
+
111
+ template_name = 'blogs/login.html'
112
+
113
+ ```
114
+
115
+ ```python
116
+
117
+ forms.py
118
+
119
+
120
+
121
+ class LoginForm(AuthenticationForm):
122
+
123
+ def __init__(self, *args, **kwargs):
124
+
125
+ super().__init__(*args, **kwargs)
126
+
127
+ for field in self.fields.values():
128
+
129
+ field.widget.attrs['class'] = 'form-control'
130
+
131
+ field.widget.attrs['placeholder'] = field.label
132
+
133
+ ```
134
+
135
+ ```python
136
+
137
+ urls.py
138
+
139
+
140
+
141
+ path('login/', views.Login.as_view(), name='login'),
142
+
143
+ ```
144
+
145
+ ```python
146
+
147
+ settings.py
148
+
149
+
150
+
151
+ LOGIN_URL = '/login'
152
+
153
+ LOGIN_REDIRECT_URL = '/'
154
+
155
+ LOGOUT_REDIRECT_URL = '/'
156
+
157
+ ```
158
+
159
+ このようにしたところポップアップで正しい情報を入れたときはログインできるのですが、間違った情報を入れると /login のurlに飛ばされて見た目も別の login.html になってしまいます。 template_name = blogs/index.html にすると見た目は index.html なのですがページ url が /login となってしまいます。 next= も保持されないので毎回トップページに戻ってきてしまいます。どうしたらいいでしょうか?

2

質問追加

2020/05/21 10:37

投稿

Sheerlore
Sheerlore

スコア0

test CHANGED
File without changes
test CHANGED
@@ -66,4 +66,4 @@
66
66
 
67
67
 
68
68
 
69
- これはトップページのコードの一部です。ここでポップアップを表示させているのですがどのようにしてログインと結びつけるのかがわかりません。
69
+ これはトップページのコードの一部です。ここでポップアップを表示させているのですがどのようにしてログインと結びつけるのかがわかりません。できれば新規アカウント登録も教えていただきたいです。

1

コードの追加

2020/05/20 17:01

投稿

Sheerlore
Sheerlore

スコア0

test CHANGED
File without changes
test CHANGED
@@ -13,3 +13,57 @@
13
13
  今回は2人でフロントエンドとバックエンドに分かれて作業していて自分はバックエンド側でDjangoを使っています。フロントエンド側はHTMLでだいたい書かれています。
14
14
 
15
15
  実現したいことは、トップページのログインボタンを押すとポップアップが表示されそこで名前とパスワードを打つことでログインできるようにしたいのですがいろいろなサイトをみてもログインページに飛ぶ方法しかわからずポップアップを使ってログインはできないんじゃないかと思ってきたのですがどきればポップアップを使っていきたいのでもし方法などがあるんでしたら教えていただきたいです。
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+ ### 追記
26
+
27
+
28
+
29
+ ```html
30
+
31
+ <div id="login">
32
+
33
+ <div class="modal">
34
+
35
+ <div id="login-close-modal">
36
+
37
+ <i class="fas fa-times"></i>
38
+
39
+ </div>
40
+
41
+ <div id="login-form">
42
+
43
+ <h2>LOGIN</h2>
44
+
45
+ <form action="#">
46
+
47
+ <input class="form-control" type="text" placeholder="Login ID">
48
+
49
+ <input class="form-control" type="password" placeholder="password">
50
+
51
+ <div id="login-btn">LOGIN</div>
52
+
53
+ </form>
54
+
55
+ <h3>--------------------or--------------------</h3>
56
+
57
+ <div id="new">Create New Account</div>
58
+
59
+ </div>
60
+
61
+ </div>
62
+
63
+ </div>
64
+
65
+ ```
66
+
67
+
68
+
69
+ これはトップページのコードの一部です。ここでポップアップを表示させているのですがどのようにしてログインと結びつけるのかがわかりません。