質問編集履歴

1

書式の改善

2020/06/06 02:48

投稿

0000
0000

スコア3

test CHANGED
@@ -1 +1 @@
1
- djangoのprogrammingErrorにつ
1
+ djangoのprogrammingErrorを解消した
test CHANGED
@@ -1,6 +1,6 @@
1
1
  djangoで掲示板アプリを作成しており、新規登録、ログイン機能は問題なく動作するのですが、
2
2
 
3
- ログイン後のページでエラーが出るようになりました。
3
+ ログイン後の投稿ページでエラーが出ました。
4
4
 
5
5
 
6
6
 
@@ -10,45 +10,9 @@
10
10
 
11
11
 
12
12
 
13
- 色々調べた所、pythonのバージョンが古いとこのエラーが出ると記載があったので、
14
-
15
- pythonのバージョンを確認した所、Python 2.7.17でした。
16
13
 
17
14
 
18
-
19
- ただ下記のコマンドでアップデートしようとした所、エラーコードが出ました。
20
-
21
-
22
-
23
- ```ここに言語を入力
24
-
25
- ubuntu@ip-172-31-3-40:~/board3/boardproject$ pip install python --upgrade
26
-
27
- Defaulting to user installation because normal site-packages is not writeable
28
-
29
- ERROR: Could not find a version that satisfies the requirement python (from versions: none)
30
-
31
- ERROR: No matching distribution found for python
15
+ ![イメージ説明](5e315018d019146ec0f7b17e82a311d7.png)
32
-
33
-
34
-
35
- ```
36
-
37
- またmakemigrationsでも改善したという声があったので試した所、こちらもエラーが出ました。
38
-
39
- ```ここに言語を入力
40
-
41
- ubuntu@ip-172-31-3-40:~/board3/boardproject$ python manage.py makemigrations
42
-
43
- File "manage.py", line 16
44
-
45
- ) from exc
46
-
47
- ^
48
-
49
- SyntaxError: invalid syntax
50
-
51
- ```
52
16
 
53
17
 
54
18
 
@@ -66,47 +30,123 @@
66
30
 
67
31
 
68
32
 
33
+
34
+
69
35
  どのようにすれば改善しますでしょうか?
36
+
37
+ 是非、ご協力いただければと思います。
38
+
39
+
70
40
 
71
41
 
72
42
 
73
43
  ```ここに言語を入力
74
44
 
75
- manage.py
45
+ views.py
76
46
 
77
- #!/usr/bin/env python
47
+ from django.shortcuts import render
78
48
 
79
- """Django's command-line utility for administrative tasks."""
49
+ from django.contrib.auth.models import User
80
50
 
81
- #!/usr/bin/env python
51
+ from django.contrib.auth import authenticate, login, logout
82
52
 
83
- import os
53
+ from django.shortcuts import redirect
84
54
 
85
- import sys
55
+ from .models import BoardModel
56
+
57
+ from django.contrib.auth.decorators import login_required
58
+
59
+ from django.views.generic import CreateView
60
+
61
+ from django.urls import reverse_lazy
86
62
 
87
63
 
88
64
 
89
- if __name__ == '__main__':
90
65
 
91
- os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'boardproject.settings')
92
66
 
93
- try:
67
+ # Create your views here.
94
68
 
95
- from django.core.management import execute_from_command_line
96
69
 
97
- except ImportError as exc:
98
70
 
99
- raise ImportError(
71
+ def signupfunc(request):
100
72
 
101
- "Couldn't import Django. Are you sure it's installed and "
73
+ if request.method == 'POST':
102
74
 
103
- "available on your PYTHONPATH environment variable? Did you "
75
+ username2 = request.POST['username']
104
76
 
105
- "forget to activate a virtual environment?"
77
+ password2 = request.POST['password']
106
78
 
107
- ) from exc
79
+ try:
108
80
 
81
+ User.objects.get(username=username2)
82
+
83
+ return render(request, 'signup.html', {'error':'このユーザーは登録されています'})
84
+
85
+ except:
86
+
87
+ user = User.objects.create_user(username2, '', password2)
88
+
89
+ return render(request, 'success.html', {'some':100})
90
+
91
+ return render(request, 'signup.html', {'some':100})
92
+
93
+
94
+
95
+
96
+
97
+ def loginfunc(request):
98
+
99
+ if request.method == 'POST':
100
+
101
+ username2 = request.POST['username']
102
+
103
+ password2 = request.POST['password']
104
+
105
+ user = authenticate(request, username=username2, password=password2)
106
+
107
+ if user is not None:
108
+
109
+ login(request, user)
110
+
111
+ return redirect('list')
112
+
113
+ else:
114
+
115
+ return redirect('login', {'error':'ユーザー名かパスワードが間違っています'})
116
+
117
+ return render(request, 'login.html')
118
+
119
+
120
+
121
+
122
+
123
+ @login_required
124
+
125
+ def listfunc(request):
126
+
109
- execute_from_command_line(sys.argv)
127
+ object_list = BoardModel.objects.all()
128
+
129
+ return render(request, 'list.html', {'object_list': object_list})
130
+
131
+
132
+
133
+
134
+
135
+ def logoutfunc(request):
136
+
137
+ logout(request)
138
+
139
+ return redirect('login')
140
+
141
+
142
+
143
+
144
+
145
+ def detailfunc(request, pk):
146
+
147
+ object = BoardModel.objects.get(pk=pk)
148
+
149
+ return render(request, 'detail.html', {'object': object})
110
150
 
111
151
 
112
152