-2

django でメールの特殊文字を置き換えたい。私はこの問題をGoogleに持っており、非常に役立つ質問であるスタックの質問を見つけました。

しかし、これにはいくつかの問題があります。これを試したら

a='testemail@email.com'
    replace=['@','.']
    for i in replace:
        a=a.replace(i,'_')

またはこれ

u_name=re.sub(r'[^a-zA-Z0-9]', '_', str(email))

そしてテンプレで

{% for i in u_name%}
{{i}}<br>
{% endfor %}

それは戻ってきます

t
e
s
t
e
m
a
i
l
_
e
m
a
i
l
_
c
o
m

testemail_email_comしかし、ループを使用してDBに保存できるように、このようにしたいのですが、最初の文字のみを保存します。

どうすればこれができるか教えてください。

ありがとう

他のDBからいくつかのデータを移行していて、それをdjango dbに保存したかった. 10 人のユーザーのデータがあるとします。これらのユーザーのメールは次の配列に保存されます。これらの電子メールの特殊文字をユーザー名として使用できるように置き換えたいと思いました。

編集:

email.append(row[i][1]) 
4

1 に答える 1

1

が単一の文字列の場合u_nameは、次のように使用できます。

{{u_name}}<br>

文字列の各文字を繰り返し処理しています-つまり

>>> for i in "mystring":
    print i


m
y
s
t
r
i
n
g

あなたの編集によると:

が配列の名前である場合emailsは、各要素を置き換えてから出力する必要があります。

>>> emails = ["me@apple.com", "you@test.com"]
>>> emails = [re.sub(r'[^a-zA-Z0-9]', '_', x) for x in emails]
>>> print emails
['me_apple_com', 'you_test_com']

次に、テンプレートを使用します。

{% for email in emails%}
{{email}}<br>
{% endfor %}
于 2013-02-08T09:47:38.737 に答える