質問編集履歴

10

2019/09/02 16:09

投稿

退会済みユーザー
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

2019/09/02 16:09

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- PYTHON クラスと関数とpyの作り方につ
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
- file_path = movie.upload.name
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
- my_function.pyの中身です。
11
+ をうつと以下エラーがす。
104
12
 
105
13
 
106
14
 
107
15
  ```ここに言語を入力
108
16
 
109
- def data_trans (file_path,only_dir, file_name,only_file_name,extension_name):
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
- print('file_path,only_dir',file_path,only_dir)
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

2019/09/02 16:06

投稿

退会済みユーザー
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

2019/09/02 14:46

投稿

退会済みユーザー
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
- import my_function
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

2019/09/02 14:40

投稿

退会済みユーザー
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

2019/09/02 14:34

投稿

退会済みユーザー
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

2019/09/02 14:31

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -18,47 +18,31 @@
18
18
 
19
19
 
20
20
 
21
+ #やりたいこと
22
+
21
- 上記書いたソース名称はabc.pyうファイルです。
23
+ margeフォルダ作成しその中にmy_function.pyを作りクラス内の重複を避けたいです。
22
24
 
23
25
 
24
26
 
25
- 同じ階層にmargeというフォルダを作りhogehoge.pyを作りAとBをひとまとめに切り出したいのです。
26
-
27
- の中では同じような処理(以下右下記載のAB部分)をしています。
27
+ #ためしたこと
28
28
 
29
29
 
30
30
 
31
- それぞれ引数とし
31
+ この3行を以下に書いいます。
32
32
 
33
33
  ```ここに言語を入力
34
34
 
35
- file_path = movie.upload.name
35
+ import my_function
36
36
 
37
+ my_function.data_trans (file_path,only_dir, file_name,only_file_name,extension_name):
38
+
37
- file_path = sound.upload.name
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
- 2 外部のmarge/hogehoge.pyとして切り出コード(中身はAとB)についてご教示ください
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
- # 同じような処理を追加 ####################################### A
75
+ from my_module import my_function
86
76
 
87
- file_path = movie.upload.name
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
- 呼び出し元のabc.py
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
- my_hogehoge.data_trans (file_path,file_path2,file_path3,file_path4):
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

2019/09/02 14:29

投稿

退会済みユーザー
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

ついき

2019/09/02 14:18

投稿

退会済みユーザー
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
- そこでAとBをひとまとめに切り出したいのですが
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
- file_path = movie.upload.name
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
- ############################################################### Aおわり
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
- return redirect('apprication:sound')
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
- # 同じような処理を追加 ####################################### B
131
+ return redirect('apprication:sound')
132
+
133
+ ```
118
134
 
119
135
 
120
136
 
121
- file_path = sound.upload.name
137
+ #ためしたこと
122
138
 
123
139
 
124
140
 
125
-     print(file_path)
126
-
127
- dummy = 1 + 2
141
+ 呼び出し元のabc.py
128
142
 
129
143
 
130
144
 
145
+ ```ここに言語を入力
146
+
147
+ #自作関数のインポート
148
+
149
+ from marge import hogehoge
150
+
131
- ############################################################### Bおわり
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

2019/09/02 14:15

投稿

退会済みユーザー
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として切り出す方法(中身はAとB)についてご教示ください。
45
+ 2 外部のmarge.pyとして切り出すコード(中身はAとB)についてご教示ください。
46
46
 
47
47
 
48
48