visual studio cod da python ile web sitesi yapıyorum fakat forum hazırlarken böyle bir hata ile karşılaştım ve çözemedim normalde cmd den paketleri kurmama rağmen tanımlamıyor galiba
çözümü bilen varmı acaba
Program wtforms kütüphanesinden String sınıfını dahil edememiş. String zaten pythonda kayıtlı gelen methodlardan biri. Kütüphanenin String methoduna/sınıfına sahip olduğunu sanmıyorum. String yerine StringField yazman gerekiyor sanırım.
tam anlayamadım cmd den mi indirmem gerek vs cod içindenmi
kod bu şekilde
from flask import Flask,render_template,flash,redirect,url_for,session,logging,request
from flask_mysqldb import MySQL
from wtforms import form,StringField,TextAreaField,PasswordField,validator
from passlib.hash import sha256_crypt
# Kullanıcı Kayıt Formu
class RegisterForm(form):
name = StringField("İsim Soyisim",validators=[validators.length(min=3,max=25)])
username = StringField("Kullanıcı Adı",validators=[validators.length(min=5,max=35)])
email = StringField("Email adresi",validators=[validators.Email(message="lütfen geçerli bir email adresi giriniz...")])
password = PasswordField("Parola:", validators=[validators.DataRquired(message="lütfen bir parola belirleyin"),
validators.EqualTo(fieldname="confirm", message="parolanız uyuşmamaktadır")])
app=Flask(__name__)
app.config["MYSQL_HOST"]="localhost"
app.config["MYSQL_USER"]="root"
app.config["MYSQL_PASSWORD"]=""
app.config["MYSQL_DB"]="ybblog"
app.config["MYSQL_CURSORCLASS"]="DictCursor"
mysq=MySQL(app)
@app.route("/")
def index():
return render_template("index.html" )
@app.route("/about")
def about():
return render_template("about.html")
if __name__=="__main__":
app.run(debug=True)
String yerine StringField yazar mısın.
aynı hatayı alıyorum
Kullandığın python sürümü hangisi?
python 3.10.2 64-bit
wtforms sürümü hangisi?
baktığımda bu siteye atıyor sorunun ne olduğu yazıyor ama pek anlamadım
Modül düzgün yüklenmemiş olabilir. Konsola pip --version wtforms yazar mısın.
Pardon bu şekilde pip versiyonunu buluyorduk sanırım. Sen sadece pip install wtforms yazar mısın. Hem hatalı yüklenmişse hatayı da görürüz.
Modül var; modülde olmayan bir şey import edilmeye çalışılıyor…
>>> import yok
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'yok'
>>> from math import karekök
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name 'karekök' from 'math'
Hatayı paylaşmamışsınız… Tıpatıp aynı hata olmasa gerek değiştirdiyseniz?
Yukarıdaki fotoğrafta String hataydı ve değiştirince aynı hatayı aldığını söylemiştin ama bu kez validator. Biraz daha dikkatli olursan daha kolay yardımcı olacağız.
Evet, farklı bir hataymış dikkat ederseniz… validators
olsa gerek.
wtforms hatasını bulabilrisek onada aynısını uygulucaktım