質問編集履歴
10
あ
test
CHANGED
File without changes
|
test
CHANGED
@@ -15,8 +15,6 @@
|
|
15
15
|
```ここに言語を入力
|
16
16
|
|
17
17
|
C:\Users\hoge\Desktop\04-ローカル開発環境\project>python manage.py collectstatic
|
18
|
-
|
19
|
-
the os -------- テスト開発環境 sqlite3 db設定 ---- windows ------->>>>>>>
|
20
18
|
|
21
19
|
|
22
20
|
|
9
あ
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
collectstaticが通らない
|
test
CHANGED
@@ -1,113 +1,93 @@
|
|
1
|
-
#補足エラー箇所
|
2
|
-
|
3
|
-
```ここに言語を入力
|
4
|
-
|
5
|
-
from marge import my_function
|
6
|
-
|
7
|
-
my_function.data_trans (file_path, only_dir, file_name,only_file_name, extension_name):
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
ModuleNotFoundError at /movie/
|
12
|
-
|
13
|
-
No module named 'my_function'
|
14
|
-
|
15
|
-
```
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
お世話になります。引数を用いてmovieとsoundをまとめる関数と外部pyの作り方について質問です。
|
20
|
-
|
21
|
-
```ここに言語を入力
|
22
|
-
|
23
|
-
class CreateMovie(LoginRequiredMixin, generic.CreateView):
|
24
|
-
|
25
|
-
```
|
26
|
-
|
27
|
-
というクラスと
|
28
|
-
|
29
|
-
```ここに言語を入力
|
30
|
-
|
31
|
-
class CreateSound(LoginRequiredMixin, generic.CreateView):
|
32
|
-
|
33
|
-
```
|
34
|
-
|
35
|
-
|
1
|
+
お世話になります。
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
#やりたいこと
|
40
|
-
|
41
|
-
margeフォルダを作成しその中にmy_function.pyを作り、CreateMovieとCreateSoundから呼び出しコードあの重複を避けたいです。
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
#ためしたこと
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
この3行を以下に書いています。
|
50
|
-
|
51
|
-
```ここに言語を入力
|
52
|
-
|
53
|
-
import my_function
|
54
|
-
|
55
|
-
my_function.data_trans (file_path,only_dir, file_name,only_file_name,extension_name):
|
56
|
-
|
57
|
-
return redirect('apprication:movie')
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
```
|
62
|
-
|
63
|
-
CreateMovieです。CreateSoundはCreateMovieと一緒なので割愛します。
|
64
2
|
|
65
3
|
|
66
4
|
|
67
5
|
```ここに言語を入力
|
68
6
|
|
69
|
-
class CreateMovie(LoginRequiredMixin, generic.CreateView):
|
70
|
-
|
71
|
-
model = Movie
|
72
|
-
|
73
|
-
form_class = MovieCreateForm
|
74
|
-
|
75
|
-
success_url = reverse_lazy('apprication:movie')
|
76
|
-
|
77
|
-
def form_valid(self, form):
|
78
|
-
|
79
|
-
movie = form.save()
|
80
|
-
|
81
|
-
messages.info(self.request, 'fin')
|
82
|
-
|
83
|
-
|
7
|
+
python manage.py collectstatic
|
84
|
-
|
85
|
-
only_dir, extension_name = os.path.splitext(file_path)
|
86
|
-
|
87
|
-
file_name = os.path.basename(file_path)
|
88
|
-
|
89
|
-
only_file_name, ext = os.path.splitext(file_name)
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
from my_module import my_function
|
94
|
-
|
95
|
-
my_function.data_trans (file_path,only_dir, file_name,only_file_name,extension_name)
|
96
|
-
|
97
|
-
return redirect('apprication:movie')
|
98
8
|
|
99
9
|
```
|
100
10
|
|
101
|
-
|
102
|
-
|
103
|
-
|
11
|
+
をうつと以下エラーがでます。
|
104
12
|
|
105
13
|
|
106
14
|
|
107
15
|
```ここに言語を入力
|
108
16
|
|
109
|
-
|
17
|
+
C:\Users\hoge\Desktop\04-ローカル開発環境\project>python manage.py collectstatic
|
110
18
|
|
19
|
+
the os -------- テスト開発環境 sqlite3 db設定 ---- windows ------->>>>>>>
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
You have requested to collect static files at the destination
|
24
|
+
|
25
|
+
location as specified in your settings.
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
This will overwrite existing files!
|
30
|
+
|
31
|
+
Are you sure you want to do this?
|
32
|
+
|
33
|
+
|
34
|
+
|
111
|
-
|
35
|
+
Type 'yes' to continue, or 'no' to cancel: yes
|
36
|
+
|
37
|
+
Traceback (most recent call last):
|
38
|
+
|
39
|
+
File "manage.py", line 21, in <module>
|
40
|
+
|
41
|
+
main()
|
42
|
+
|
43
|
+
File "manage.py", line 17, in main
|
44
|
+
|
45
|
+
execute_from_command_line(sys.argv)
|
46
|
+
|
47
|
+
File "C:\Users\hoge\AppData\Roaming\Python\Python36\site-packages\django\core\management\__init__.py", line 381, in execute_from_command_line
|
48
|
+
|
49
|
+
utility.execute()
|
50
|
+
|
51
|
+
File "C:\Users\hoge\AppData\Roaming\Python\Python36\site-packages\django\core\management\__init__.py", line 375, in execute
|
52
|
+
|
53
|
+
self.fetch_command(subcommand).run_from_argv(self.argv)
|
54
|
+
|
55
|
+
File "C:\Users\hoge\AppData\Roaming\Python\Python36\site-packages\django\core\management\base.py", line 323, in run_from_argv
|
56
|
+
|
57
|
+
self.execute(*args, **cmd_options)
|
58
|
+
|
59
|
+
File "C:\Users\hoge\AppData\Roaming\Python\Python36\site-packages\django\core\management\base.py", line 364, in execute
|
60
|
+
|
61
|
+
output = self.handle(*args, **options)
|
62
|
+
|
63
|
+
File "C:\Users\hoge\AppData\Roaming\Python\Python36\site-packages\django\contrib\staticfiles\management\commands\collectstatic.py", line 188, in handle
|
64
|
+
|
65
|
+
collected = self.collect()
|
66
|
+
|
67
|
+
File "C:\Users\hoge\AppData\Roaming\Python\Python36\site-packages\django\contrib\staticfiles\management\commands\collectstatic.py", line 114, in collect
|
68
|
+
|
69
|
+
handler(path, prefixed_path, storage)
|
70
|
+
|
71
|
+
File "C:\Users\hoge\AppData\Roaming\Python\Python36\site-packages\django\contrib\staticfiles\management\commands\collectstatic.py", line 342, in copy_file
|
72
|
+
|
73
|
+
if not self.delete_file(path, prefixed_path, source_storage):
|
74
|
+
|
75
|
+
File "C:\Users\hoge\AppData\Roaming\Python\Python36\site-packages\django\contrib\staticfiles\management\commands\collectstatic.py", line 249, in delete_file
|
76
|
+
|
77
|
+
if self.storage.exists(prefixed_path):
|
78
|
+
|
79
|
+
File "C:\Users\hoge\AppData\Roaming\Python\Python36\site-packages\django\core\files\storage.py", line 310, in exists
|
80
|
+
|
81
|
+
return os.path.exists(self.path(name))
|
82
|
+
|
83
|
+
File "C:\Users\hoge\AppData\Roaming\Python\Python36\site-packages\django\contrib\staticfiles\storage.py", line 44, in path
|
84
|
+
|
85
|
+
raise ImproperlyConfigured("You're using the staticfiles app "
|
86
|
+
|
87
|
+
django.core.exceptions.ImproperlyConfigured: You're using the staticfiles app without having set the STATIC_ROOT setting to a filesystem path.
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
|
112
92
|
|
113
93
|
```
|
8
123
test
CHANGED
File without changes
|
test
CHANGED
@@ -92,7 +92,7 @@
|
|
92
92
|
|
93
93
|
from my_module import my_function
|
94
94
|
|
95
|
-
my_function.data_trans (file_path,only_dir, file_name,only_file_name,extension_name)
|
95
|
+
my_function.data_trans (file_path,only_dir, file_name,only_file_name,extension_name)
|
96
96
|
|
97
97
|
return redirect('apprication:movie')
|
98
98
|
|
7
あ
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,17 +2,17 @@
|
|
2
2
|
|
3
3
|
```ここに言語を入力
|
4
4
|
|
5
|
-
|
5
|
+
from marge import my_function
|
6
6
|
|
7
|
-
|
7
|
+
my_function.data_trans (file_path, only_dir, file_name,only_file_name, extension_name):
|
8
|
+
|
9
|
+
|
8
10
|
|
9
11
|
ModuleNotFoundError at /movie/
|
10
12
|
|
11
13
|
No module named 'my_function'
|
12
14
|
|
13
15
|
```
|
14
|
-
|
15
|
-
|
16
16
|
|
17
17
|
|
18
18
|
|
6
あ
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,3 +1,21 @@
|
|
1
|
+
#補足エラー箇所
|
2
|
+
|
3
|
+
```ここに言語を入力
|
4
|
+
|
5
|
+
#自作関数のインポート
|
6
|
+
|
7
|
+
import my_function
|
8
|
+
|
9
|
+
ModuleNotFoundError at /movie/
|
10
|
+
|
11
|
+
No module named 'my_function'
|
12
|
+
|
13
|
+
```
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
|
18
|
+
|
1
19
|
お世話になります。引数を用いてmovieとsoundをまとめる関数と外部pyの作り方について質問です。
|
2
20
|
|
3
21
|
```ここに言語を入力
|
5
あ
test
CHANGED
File without changes
|
test
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
#やりたいこと
|
22
22
|
|
23
|
-
margeフォルダを作成しその中にmy_function.pyを作り
|
23
|
+
margeフォルダを作成しその中にmy_function.pyを作り、CreateMovieとCreateSoundから呼び出しコードあの重複を避けたいです。
|
24
24
|
|
25
25
|
|
26
26
|
|
4
a
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,47 +18,31 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
+
#やりたいこと
|
22
|
+
|
21
|
-
|
23
|
+
margeフォルダを作成しその中にmy_function.pyを作りクラス内の重複を避けたいです。
|
22
24
|
|
23
25
|
|
24
26
|
|
25
|
-
同じ階層にmargeというフォルダを作りhogehoge.pyを作りAとBをひとまとめに切り出したいのです。
|
26
|
-
|
27
|
-
こ
|
27
|
+
#ためしたこと
|
28
28
|
|
29
29
|
|
30
30
|
|
31
|
-
|
31
|
+
この3行を以下に書いています。
|
32
32
|
|
33
33
|
```ここに言語を入力
|
34
34
|
|
35
|
-
|
35
|
+
import my_function
|
36
36
|
|
37
|
+
my_function.data_trans (file_path,only_dir, file_name,only_file_name,extension_name):
|
38
|
+
|
37
|
-
|
39
|
+
return redirect('apprication:movie')
|
40
|
+
|
41
|
+
|
38
42
|
|
39
43
|
```
|
40
44
|
|
41
|
-
が微妙に違っています。
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
このAとBをまとめて
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
1 同pyファイルの中で、単純に関数として切り出すコード と
|
50
|
-
|
51
|
-
|
45
|
+
CreateMovieです。CreateSoundはCreateMovieと一緒なので割愛します。
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
宜しくお願いします。
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
46
|
|
63
47
|
|
64
48
|
|
@@ -72,94 +56,40 @@
|
|
72
56
|
|
73
57
|
success_url = reverse_lazy('apprication:movie')
|
74
58
|
|
75
|
-
|
76
|
-
|
77
59
|
def form_valid(self, form):
|
78
60
|
|
79
61
|
movie = form.save()
|
80
62
|
|
81
|
-
messages.info(self.request, '
|
63
|
+
messages.info(self.request, 'fin')
|
64
|
+
|
65
|
+
file_path = movie.upload.name
|
66
|
+
|
67
|
+
only_dir, extension_name = os.path.splitext(file_path)
|
68
|
+
|
69
|
+
file_name = os.path.basename(file_path)
|
70
|
+
|
71
|
+
only_file_name, ext = os.path.splitext(file_name)
|
82
72
|
|
83
73
|
|
84
74
|
|
85
|
-
|
75
|
+
from my_module import my_function
|
86
76
|
|
87
|
-
file_path
|
77
|
+
my_function.data_trans (file_path,only_dir, file_name,only_file_name,extension_name):
|
88
78
|
|
89
|
-
print(file_path)
|
90
|
-
|
91
|
-
dummy = 1 + 2
|
92
|
-
|
93
|
-
############################################################### Aおわり
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
return redirect('apprication:movie')
|
79
|
+
return redirect('apprication:movie')
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
class CreateSound(LoginRequiredMixin, generic.CreateView):
|
102
|
-
|
103
|
-
model = Sound
|
104
|
-
|
105
|
-
form_class = SoundCreateForm
|
106
|
-
|
107
|
-
success_url = reverse_lazy('apprication:sound')
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
def form_valid(self, form):
|
112
|
-
|
113
|
-
sound = form.save()
|
114
|
-
|
115
|
-
messages.info(self.request, 'アップロード正常')
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
# 同じような処理を追加 ####################################### B
|
120
|
-
|
121
|
-
file_path = sound.upload.name
|
122
|
-
|
123
|
-
print(file_path)
|
124
|
-
|
125
|
-
dummy = 1 + 2
|
126
|
-
|
127
|
-
############################################################### Bおわり
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
return redirect('apprication:sound')
|
132
80
|
|
133
81
|
```
|
134
82
|
|
135
83
|
|
136
84
|
|
137
|
-
#ためしたこと
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
85
|
+
my_function.pyの中身です。
|
142
86
|
|
143
87
|
|
144
88
|
|
145
89
|
```ここに言語を入力
|
146
90
|
|
147
|
-
|
91
|
+
def data_trans (file_path,only_dir, file_name,only_file_name,extension_name):
|
148
92
|
|
149
|
-
from marge import hogehoge
|
150
|
-
|
151
|
-
|
93
|
+
print('file_path,only_dir',file_path,only_dir)
|
152
94
|
|
153
95
|
```
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
呼び出し先のhogehoge.py
|
158
|
-
|
159
|
-
```
|
160
|
-
|
161
|
-
def data_trans (file_path,file_path2,file_path3,file_path4):
|
162
|
-
|
163
|
-
print('------CHECK --')
|
164
|
-
|
165
|
-
```
|
3
a
test
CHANGED
File without changes
|
test
CHANGED
@@ -148,7 +148,7 @@
|
|
148
148
|
|
149
149
|
from marge import hogehoge
|
150
150
|
|
151
|
-
my_hogehoge.data_trans (file_path):
|
151
|
+
my_hogehoge.data_trans (file_path,file_path2,file_path3,file_path4):
|
152
152
|
|
153
153
|
```
|
154
154
|
|
@@ -158,7 +158,7 @@
|
|
158
158
|
|
159
159
|
```
|
160
160
|
|
161
|
-
def data_trans (file_path):
|
161
|
+
def data_trans (file_path,file_path2,file_path3,file_path4):
|
162
162
|
|
163
163
|
print('------CHECK --')
|
164
164
|
|
2
ついき
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,9 +18,15 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
+
上記を書いたソース名称はabc.pyというファイルです。
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
同じ階層にmargeというフォルダを作りhogehoge.pyを作りAとBをひとまとめに切り出したいのです。
|
26
|
+
|
21
27
|
この中では同じような処理(以下右下記載のAとB部分)をしています。
|
22
28
|
|
23
|
-
|
29
|
+
|
24
30
|
|
25
31
|
それぞれ引数として
|
26
32
|
|
@@ -42,7 +48,7 @@
|
|
42
48
|
|
43
49
|
1 同pyファイルの中で、単純に関数として切り出すコード と
|
44
50
|
|
45
|
-
2 外部のmarge.pyとして切り出すコード(中身はAとB)についてご教示ください。
|
51
|
+
2 外部のmarge/hogehoge.pyとして切り出すコード(中身はAとB)についてご教示ください。
|
46
52
|
|
47
53
|
|
48
54
|
|
@@ -78,19 +84,17 @@
|
|
78
84
|
|
79
85
|
# 同じような処理を追加 ####################################### A
|
80
86
|
|
87
|
+
file_path = movie.upload.name
|
81
88
|
|
89
|
+
print(file_path)
|
82
90
|
|
83
|
-
|
91
|
+
dummy = 1 + 2
|
92
|
+
|
93
|
+
############################################################### Aおわり
|
84
94
|
|
85
95
|
|
86
96
|
|
87
|
-
print(file_path)
|
88
|
-
|
89
|
-
dummy = 1 + 2
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
97
|
+
return redirect('apprication:movie')
|
94
98
|
|
95
99
|
|
96
100
|
|
@@ -110,24 +114,52 @@
|
|
110
114
|
|
111
115
|
messages.info(self.request, 'アップロード正常')
|
112
116
|
|
117
|
+
|
118
|
+
|
113
|
-
|
119
|
+
# 同じような処理を追加 ####################################### B
|
120
|
+
|
121
|
+
file_path = sound.upload.name
|
122
|
+
|
123
|
+
print(file_path)
|
124
|
+
|
125
|
+
dummy = 1 + 2
|
126
|
+
|
127
|
+
############################################################### Bおわり
|
114
128
|
|
115
129
|
|
116
130
|
|
117
|
-
|
131
|
+
return redirect('apprication:sound')
|
132
|
+
|
133
|
+
```
|
118
134
|
|
119
135
|
|
120
136
|
|
121
|
-
|
137
|
+
#ためしたこと
|
122
138
|
|
123
139
|
|
124
140
|
|
125
|
-
print(file_path)
|
126
|
-
|
127
|
-
|
141
|
+
呼び出し元のabc.py
|
128
142
|
|
129
143
|
|
130
144
|
|
145
|
+
```ここに言語を入力
|
146
|
+
|
147
|
+
#自作関数のインポート
|
148
|
+
|
149
|
+
from marge import hogehoge
|
150
|
+
|
131
|
-
|
151
|
+
my_hogehoge.data_trans (file_path):
|
132
152
|
|
133
153
|
```
|
154
|
+
|
155
|
+
|
156
|
+
|
157
|
+
呼び出し先のhogehoge.py
|
158
|
+
|
159
|
+
```
|
160
|
+
|
161
|
+
def data_trans (file_path):
|
162
|
+
|
163
|
+
print('------CHECK --')
|
164
|
+
|
165
|
+
```
|
1
あ
test
CHANGED
File without changes
|
test
CHANGED
@@ -40,9 +40,9 @@
|
|
40
40
|
|
41
41
|
|
42
42
|
|
43
|
-
1 同pyファイルの中で、単純に関数として切り出す
|
43
|
+
1 同pyファイルの中で、単純に関数として切り出すコード と
|
44
44
|
|
45
|
-
2 外部のmarge.pyとして切り出す
|
45
|
+
2 外部のmarge.pyとして切り出すコード(中身はAとB)についてご教示ください。
|
46
46
|
|
47
47
|
|
48
48
|
|