質問編集履歴

1

誤投稿の修正

2018/02/22 03:47

投稿

kusao
kusao

スコア23

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,8 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
3
  以前質問させて頂いた、SVGデータの不要タグを除去するというプログラムがターミナル上で
4
+
5
+ (https://teratail.com/questions/113910)
4
6
 
5
7
  うまく動くようになりました。自身のスキルアップのためにも、Webアプリにしてみようと思い、Djangoに
6
8
 
@@ -14,27 +16,23 @@
14
16
 
15
17
  実現したいフローは
16
18
 
17
- 0.templete>app_name>index.html内の<form><input type="file"></form>から
19
+ templete>app_name>index.html内の<form><input type="file"></form>から データ(ファイル名)を受け取る。
18
20
 
19
- データ(ファイル名)を受け取る。
20
21
 
21
- 0.
22
22
 
23
- 0.
23
+ 2 フォーム内にチェックボックスを用意(除去するタグ名)して、選択されたものを受け取り、リストに格納
24
24
 
25
+
26
+
25
- 0.
27
+ 3 受け取ったファイルに対して、リストに格納されたタグを除去していく(全質問で解決しました。)
26
28
 
27
29
 
28
30
 
29
31
  ### 発生している問題・エラーメッセージ
30
32
 
33
+ 1、2の過程をどうしたらいいのか分からず、手詰りしています。値をrequest.POSTで受け取るのは
31
34
 
32
-
33
- ```
34
-
35
- エラーメッセージ
35
+ 何となくわかるのですが、それをどのように活かせばいいのか分からない状態です。
36
-
37
- ```
38
36
 
39
37
 
40
38
 
@@ -42,19 +40,107 @@
42
40
 
43
41
 
44
42
 
45
- ```ここに言語名を入力
43
+ ```html
46
44
 
45
+ <!--index.html--!>
46
+
47
+
48
+
49
+ <form action="../../views.change_svg" method="post">
50
+
51
+ <input id="file" name="file" value="file" type="file" />
52
+
53
+ <br>
54
+
55
+ <p>削除したいタグをチェック</p>
56
+
57
+ <input type="checkbox" name="title" value="title">title
58
+
59
+ <input type="checkbox" name="style" value="style">style
60
+
61
+ <button type="submit">アップロードして変換</button>
62
+
63
+ </form>
64
+
65
+ ```
66
+
67
+ ```python
68
+
47
- ソースコード
69
+ #view.py
70
+
71
+
72
+
73
+ #データを受け取り、リストに格納
74
+
75
+ def form_post(request):
76
+
77
+ unnecessary_tags = []
78
+
79
+
80
+
81
+ file_name = request.POST['file']
82
+
83
+ checked_title = request.POST['title']
84
+
85
+ checked_style = request.POST['style']
86
+
87
+
88
+
89
+ unnecessary_tags.append(checked_title).append(checked_style)
90
+
91
+
92
+
93
+ return file_name, unnecessary_tags
48
94
 
49
95
  ```
50
96
 
51
97
 
52
98
 
99
+ ```python
100
+
53
- ### 試したこと
101
+ #view.py
54
102
 
55
103
 
56
104
 
57
- ここに問題に対して試したことを記載してください。
105
+ def change_svg(request):
106
+
107
+ form_post()
108
+
109
+ with open(file_name, 'r', encoding="utf-8") as f:
110
+
111
+ for row in f:
112
+
113
+ for tag in unnecessary_tags:
114
+
115
+ after_delete_tag = re.sub(r"<{tag}>.*</{tag}>".format(tag=tag), "", row)
116
+
117
+ row = after_delete_tag
118
+
119
+
120
+
121
+ image_name = os.path.basename(image)
122
+
123
+ new_file_name = ("new_" + image_name)
124
+
125
+ os.makedirs("after", exist_ok=True)
126
+
127
+
128
+
129
+ with open("after/" + new_file_name, "w", encoding="utf-8" ) as ff:
130
+
131
+ ff.write(row)
132
+
133
+
134
+
135
+ print("終了しました。新規ファイルとして保存されました。")
136
+
137
+ ```
138
+
139
+
140
+
141
+
142
+
143
+
58
144
 
59
145
 
60
146
 
@@ -62,4 +148,8 @@
62
148
 
63
149
 
64
150
 
151
+ python3.6.4
152
+
153
+ Django2.0.2
154
+
65
- ここにより詳細な情報を記載してください。
155
+ Macで動かしています